Eu estive configurando a replicação principal do MySQL (no Debian 6.0.1) seguindo estas instruções fielmente: http://www.neocodesoftware.com/replication/
Eu tenho tanto quanto:
mysql > show master status;
infelizmente isso está produzindo o seguinte, em vez de qualquer saída útil:
Empty set (0.00 sec)
O log de erros em /var/log/mysql.err
é apenas um arquivo vazio, então isso não me fornece nenhuma pista.
Alguma ideia?
Isto é o que eu coloquei em /etc/mysql/my.cnf
um servidor (alterado adequadamente para o outro servidor):
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = 10.0.0.3
master-user = <myusername>
master-password = <mypass>
master-connect-retry = 60
replicate-do-db = fruit
log-bin = /var/log/mysql-replication.log
binlog-do-db = fruit
E eu configurei usuários e posso conectar do MySQL no servidor A ao banco de dados no servidor B usando o nome de usuário / senha / endereço de IP acima.
show master status
verEmpty set
. Confuso!Respostas:
Curiosamente, eu tenho o mysql rodando no meu PC com logs binários não habilitados. Eu fiz o seguinte:
Como mostrado, como o MySQL mostra "Empty Set" para SHOW MASTER STATUS; porque o log binário não foi ativado. Isso é óbvio, dada a configuração que tenho.
A primeira coisa que você deve fazer é garantir que o log de erros tenha uma pasta específica
Em seguida, execute o seguinte:
Em seguida, no cliente mysql, execute estes comandos SQL
Se você obtiver a mesma saída que eu tinha antes, o MySQL não poderá gravar logs binários na pasta designada. Seu dilema é por que o MySQL não pode gravar em / var / log.
Esta não é uma resposta completa, mas espero que ajude.
fonte
Se a versão do Mysql for> 5.0, as configurações de replicação como host principal, usuário principal, senha mestre e algumas outras no my.cnf serão ignoradas. Use CHANGE MASTER TO para a configuração inicial da replicação.
Compare http://dev.mysql.com/doc/refman/5.1/en/replication-howto-slaveinit.html
fonte
Sua configuração para
log-bin
está incorreta, portanto o MySQL não pode gravar logs binários. Não é um nome de arquivo, é um padrão de nome de arquivo parcial , no qual o MySQL anexará um diretório e anexará um número e extensão de sequência. A configuração usual é algo comoVerifique o manual.
fonte
--log-bin=file_name
( dev.mysql.com/doc/refman/5.7/en/… ). Que manual declara que não é um nome de arquivo?