Siempre que no realice ninguna instrucción INSERT / UPDATE / DELETE directamente en Slave, su Slave debería estar bien. De lo contrario, la replicación de MySQL podría romperse si INSERTA una nueva fila en mydb.mytable en el Esclavo y, a través de la Replicación, el Esclavo luego detecta un INSERTAR una fila en mydb.mytable con la misma CLAVE PRIMARIA. Esto produce el error 1062 (clave duplicada).
La única forma en que podría escribir en Slave sin romper la replicación MySQL es esta:
- El maestro tiene bases de datos db1, db2, db3
- Slave está replicando bases de datos db1, db2, db3 del Master
- Corres
CREATE DATABASE db4;
en el esclavo
- Usted hace INSERT / UPDATE / DELETEs solo para db4 en el Slave
- No hace INSERT / UPDATE / DELETEs solo para db1, db2, db3 en Slave
Para detectar que un Maestro y un Esclavo no están sincronizados sin descargar ninguna herramienta, elija cualquier tabla y ejecute CHECKSUM TABLE contra una tabla en el Maestro y la copia del Esclavo de la misma tabla.
EJEMPLO
Si tiene una tabla mydb.mytable
, ejecute el comando contra ella:
mysql> CHECKSUM TABLE mydb.mytable;
Si los valores no vuelven a ser los mismos, entonces algo no está sincronizado.
Si desea examinar un montón de mesas a granel, puede bajar el MAATKIT de Percona. Necesitará dos herramientas específicas (Percona también tiene el Kit de herramientas de Percona que ellos mismos bifurcaron de MAATKIT, que ahora se promociona más)
o
pt-table-checksum
realizará una TABLA DE CHECKSUM contra todas las tablas en Master y Slave. Puede configurarlo para hacer todas las bases de datos en solo las específicas.
pt-table-sync
se puede ejecutar en un Slave contra cualquier mesa. Usando las opciones --print y --sync-to-master, puede ver qué instrucciones SQL deben ejecutarse en el Slave para que coincida perfectamente con el Master. Esta herramienta no funciona con una tabla que carece de una CLAVE PRIMARIA o una CLAVE ÚNICA.
He usado MAATKIT por años. Todavía lo hago Todavía no he probado el kit de herramientas de Percona, pero estoy seguro de que debería ser de la misma calidad que MAATKIT.