Antes de configurar uma replicação no MySQL, os dados primeiro precisam ser transferidos para o escravo.
Como as tabelas MyISAM podem ser copiadas como arquivos. Seria correto copiar arquivos MyISAM, .myd .myi .frm, para o escravo? Isso seria suficiente para iniciar a replicação?
Como tudo é MyISAM, aqui está o que você precisa fazer
PASSO 01) Configure o Mestre para ser um Mestre de Replicação
Se você não tiver
server-id
definido em /etc/my.cnf, adicione ume
service mysql restart
PASSO 02) Verificar Log Binário no Master
Se o registro binário estiver ativo no mestre, faça isso
para eliminar todos os logs binários e começar do zero.
Se o registro binário não estiver ativo, faça isso
log-bin=mysql-bin
em[mysqld]
/etc/my.cnfPASSO 03) Copiar
/var/lib/mysql
Você pode definir o rsync para executar uma cópia byte a byte de força bruta de suas tabelas MyISAM de
/var/lib/mysql
um servidor para/var/lib/mysql
outro servidor. Você teria executado vários rsyncs até o último rsync, o que é muito rápido. Em seguida, você faria um desligamento completo do MySQL e executaria mais um rsync. Inicie o mysql no Master e no Slave.PASSO 04) Criar Usuário de Replicação no Escravo
PASSO 05) Configure a replicação
Execute este comando no Slave
O que é XXXX e YYYY ???
XXXX
é o último arquivo de log binário no momento em que você executa o rsync final. Existe uma cópia desse arquivo em /var/lib/mysql no Slave. Basta rodarls -l /var/lib/mysql/mysql-bin.0*
no Slave e usar o último log binário.YYYY
é a posição do último arquivo de log binário no momento em que você executa o rsync final. Curiosamente, a posição também é o tamanho do arquivo do log binário. Apenas executels -l /var/lib/mysql/mysql-bin.0*
no Slave e pegue o tamanho do arquivo do último log binário para ser a posiçãoYYYY
.PASSO 06) Verifique a replicação
Rode isto
Se
Slave_IO_Running
éYes
eSlave_SQL_Running
éYes
, Parabéns Você está pronto !!!Eu escrevi postagens semelhantes sobre o uso do rsync assim: