quinta-feira, 23 de abril de 2015

Promover servidor MySQL de Slave para Master

Passos para promover um servidor Slave para Master


  • Slave a ser promovido a Master:


STOP SLAVE;
RESET MASTER;
CHANGE MASTER TO MASTER_HOST='';



  • Master a ser elegido a Slave:

FLUSH LOGS;
CHANGE MASTER TO MASTER_HOST='novoservidormaster';
RESET SLAVE;
START SLAVE;



  • Demais servidores Slave:

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='novoservidormaster';
RESET SLAVE;
START SLAVE;

quarta-feira, 15 de abril de 2015

Como adicionar repositório do CentOS no Red Hat

O repositório do Red Hat somente está disponível após a sub-inscrição da licença. Em alguns momentos precisamos instalar um servidor de PoC (sigla do inglês, Proof of Concept), mas não queremos pagar uma licença Red Hat sem ter certeza se o mesmo virará produção. Por outro lado precisamos instalar/atualizar pacotes para dar procedimento ao PoC.

Uma alternativa válida seria adicionar o repositório do CentOS no Red Hat, pois o CentOS é equivalente ao Red Hat, mas sem o suporte garantido pela licença paga.

Bom, vamos ao que interessa:

Criar o arquivo:

  • vi /etc/yum.repos.d/centos.repo


Adicionar o conteúdo abaixo:

[centos]
name=CentOS $releasever - $basearch
baseurl=http://ftp.heanet.ie/pub/centos/6/os/$basearch/
enabled=1
gpgcheck=0

Limpar o yum :

  • yum clean all

Pronto!

OBS: substitua o numero 6 (em baseurl=http://ftp.heanet.ie/pub/centos/6/os/$basearch/) pela versão do seu sistema (5,6 ou 7).

quinta-feira, 9 de abril de 2015

Como ressincronizar o(s) servidor(es) Slave com o Master no MySQL


SERVIDOR MASTER


  • Conectar no MySQL

mysql -u root -h localhost -p'senha'


  • Executar Os comandos:

RESET MASTER;
FLUSH TABLES WITH READ LOCK; 
SHOW MASTER STATUS; 

************ NÃO FECHAR A SESSÃO DO MYSQL *******************


  •  Copiar MASTER_LOG_FILE e MASTER_LOG_POS

+----------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------------+----------+--------------+------------------+
| mysql-bin-log.000001 | XXXXX | | |
+----------------------+----------+--------------+------------------+


  • Em outra console, realizar DUMP dos bancos

mysqldump -u root -h localhost -p'senha' --all-databases --master-data > mysqldump.sql
ou
mysqldump -u root -h localhost -p'senha' --all-databases --master-data | gzip > mysqldump.sql.gz



  • Voltar na console do MySQL e debloquear as tabelas

UNLOCK TABLES;



  • Enviar o arquivo de DUMP para o servidor SLAVE



###################################

SERVIDOR SLAVE


  • Conectar na console do MySQL e parar a execução do SLAVE

mysql -u root -h localhost -p'senha'

STOP SLAVE;


  • Restaurar o DUMP no servidor slave para sobrescrever os dados antigos 


mysql -u root -h localhost -p'senha' < mysqldump.sql
ou
gunzip < mysqldump.sql.gz | mysql -u root -h localhost -p'senha'



  • Conectar no Mysql e executar os comandos para resetar o Slave, atualizar referencia do master e iniciar o serviço SLAVE 

RESET SLAVE;

CHANGE MASTER TO MASTER_HOST='servidormaster', MASTER_USER='usuario_de_replicacao', MASTER_PASSWORD='senha', MASTER_LOG_FILE='mysql-bin-log.XXXXX', MASTER_LOG_POS=XXXXX;


START SLAVE;


  • Consultar se o servidor SLAVE está funcionando bem

SHOW SLAVE STATUS;