Plusieurs questions
L'entrée esclave resterait-elle jusqu'à ce qu'il y ait une insertion / mise à jour / suppression de la table sur le maître qui pourrait affecter l'esclave?
Sinon, comment puis-je m'assurer que l'esclave est synchronisé avec le maître à l'avenir (en supprimant l'entrée esclave ou en copiant cette entrée manuellement dans le maître)?
Plus important encore, comment puis-je détecter que les tables sont désynchronisées?
mysql
replication
kfmfe04
la source
la source
Réponses:
Tant que vous n'effectuez aucune instruction INSERT / UPDATE / DELETE directement sur l'esclave, votre esclave devrait bien fonctionner. Sinon, la réplication MySQL pourrait se casser si vous INSÉRER une nouvelle ligne dans mydb.mytable sur l'esclave et, via la réplication, l'esclave détecte plus tard un INSERT d'une ligne dans mydb.mytable avec la même CLÉ PRIMAIRE. Cela produit l'erreur 1062 (clé en double).
La seule façon d'écrire sur Slave sans interrompre la réplication MySQL est la suivante:
CREATE DATABASE db4;
sur l'esclavePour détecter un maître et un esclave désynchronisés sans télécharger d’outils, choisissez une table et exécutez CHECKSUM TABLE contre une table sur le maître et la copie de la même table de l'esclave.
EXEMPLE
Si vous avez une table
mydb.mytable
, exécutez la commande sur celle-ci:Si les valeurs ne reviennent pas de la même manière, alors quelque chose est désynchronisé.
Si vous voulez examiner un tas de table en vrac, vous pouvez descendre MAATKIT de Percona. Vous aurez besoin de deux outils spécifiques (Percona a également la boîte à outils Percona qu'ils ont eux-mêmes créée à partir de MAATKIT qui est maintenant plus promue)
ou
pt-table-checksum
effectuera un CHECKSUM TABLE contre toutes les tables du maître et de l'esclave. Vous pouvez le configurer pour faire toutes les bases de données uniquement sur des bases spécifiques.pt-table-sync
peut être exécuté sur un esclave contre n'importe quelle table. En utilisant les options --print et --sync-to-master, vous pouvez voir quelles instructions SQL doivent être exécutées sur l'esclave pour qu'elles correspondent parfaitement au maître. Cet outil ne fonctionne pas avec une table qui n'a pas de CLÉ PRIMAIRE ou CLÉ UNIQUE.J'utilise MAATKIT depuis des années. Je le fais encore. Je n'ai pas encore essayé le Percona Toolkit, mais je suis sûr qu'il devrait être de la même qualité que MAATKIT.
la source