Maison > Article > base de données > MySQL - Explication détaillée de la capacité de réplication, du dépannage et de la transmission des journaux binaires multithread
Suspendez la réplication pendant un certain temps (M), puis redémarrez-la et observez combien de temps il faut à l'esclave pour atteindre le même niveau que le maître (N).
Capacité de réplication = N:M
Il est recommandé de maintenir la capacité à plus de 3 fois, soit 1:3
1) La plupart des erreurs de réplication sont causées par des erreurs de journal.
2) Le journal principal et le journal de relais peuvent être erronés. Comment les identifier :
#mysqlbinlog MASTER_BINLOG_FILE > /dev/null #mysqlbinlog SLAVE_BINLOG_FILE > /dev/null
1) De nombreux problèmes peuvent provoquer des erreurs de journal. . Parfois, il peut n'y avoir aucune erreur dans le journal lui-même, mais des erreurs se produisent lors de l'analyse SQL (par exemple, les données maître-esclave sont intrinsèquement incohérentes). Vous pouvez ignorer manuellement les erreurs de journal, mais cela pourrait entraîner une incohérence entre les données maître et esclave.
2) S'il s'agit d'une erreur du journal principal, elle peut être exécutée sur l'esclave (elle peut être exécutée plusieurs fois s'il y a plusieurs erreurs).
mysql> stop slave; mysql> set global sql_slave_skip_counter=1; mysql> start slave;
3) S'il y a une erreur dans le journal du relais, vous pouvez vérifier l'état de la réplication via la commande show slave status G sur l'esclave et ignorer le journal des erreurs en fonction des informations du journal :
mysql> stop slave; mysql> charge master to -> master_log_file='<Relay_Master_Log_file>', -> master_log_pos=<Exec_Master_Log_Pos>; mysql> start slave;
4) Si Replcation fonctionne en mode GTIDs, vous avez besoin de
mysql> stop slave; mysql> set gtid_next='uuid:nexti_d'; mysql> begin; mysql> commit; mysql> set gtid_next='automatic'; mysql> start slave;
Remarque : uuid:nextid par exemple : '0470a4fd-93d1-11e3-86bf -4ec905bea80f:17'.
1. MySQL 5.6 commence à prendre en charge la transmission de journaux binaires multithread.
2. Ne peut fonctionner qu'en mode GTID.
3. Seules les opérations effectuées sur différentes bibliothèques peuvent utiliser la transmission multithread. Les opérations sur différentes tables de la même bibliothèque ne peuvent toujours être transmises que dans un seul thread.
#vi /etc/my.cnf [mysqld] slave_parallel-workers=N (默认值为0,不开启)
Autres commandes :
mysql> set sql_log_bin=OFF; (关闭二进制日志) mysql> set sql_log_bin=ON; (开启二进制日志)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!