He estado configurando la replicación maestra MySQL (en Debian 6.0.1) siguiendo fielmente estas instrucciones: http://www.neocodesoftware.com/replication/
Llegué hasta:
mysql > show master status;
pero desafortunadamente esto produce lo siguiente, en lugar de cualquier resultado útil:
Empty set (0.00 sec)
El registro de errores en /var/log/mysql.err
es solo un archivo vacío, por lo que no me da ninguna pista.
¿Algunas ideas?
Esto es lo que he puesto en /etc/mysql/my.cnf
un servidor (modificado apropiadamente para el otro 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
Y he configurado usuarios y puedo conectarme desde MySQL en el Servidor A a la base de datos en el Servidor B usando el nombre de usuario / contraseña / dirección IP anterior.
show master status
verEmpty set
. ¡Desconcertado!Respuestas:
Curiosamente, tengo mysql ejecutándose en mi PC con registros binarios no habilitados. Hice lo siguiente:
Como se muestra, ya que MySQL muestra "Conjunto vacío" para SHOW MASTER STATUS; porque el registro binario no estaba habilitado. Eso es obvio dada la configuración que tengo.
Lo primero que debe hacer es asegurarse de que el registro de errores tenga una carpeta específica
Luego ejecute lo siguiente:
Luego, en el cliente mysql, ejecute estos comandos SQL
Si obtiene el mismo resultado que tenía antes, MySQL no puede escribir registros binarios en la carpeta designada. Su dilema se convierte en por qué MySQL no puede escribir en / var / log.
Esta no es una respuesta completa, pero espero que esto ayude.
fuente
Si la versión de Mysql es> 5.0, su configuración de replicación master-host, master-user, master-password y algunas otras en su my.cnf serán ignoradas. Use CHANGE MASTER TO para la configuración de replicación inicial.
Compare http://dev.mysql.com/doc/refman/5.1/en/replication-howto-slaveinit.html
fuente
Su configuración para
log-bin
es incorrecta, por lo que MySQL no puede escribir registros binarios. No es un nombre de archivo, es un patrón de nombre de archivo parcial , al que MySQL antepondrá un directorio y agregará un número de secuencia y una extensión. La configuración habitual es algo así comoConsulta el manual.
fuente
--log-bin=file_name
( dev.mysql.com/doc/refman/5.7/en/… ). ¿Qué manual dice que no es un nombre de archivo?