Maison > base de données > tutoriel mysql > MySQL - Explication détaillée de la capacité de réplication, du dépannage et de la transmission des journaux binaires multithread

MySQL - Explication détaillée de la capacité de réplication, du dépannage et de la transmission des journaux binaires multithread

黄舟
Libérer: 2017-03-14 16:45:39
original
1159 Les gens l'ont consulté

1. Capacité de réplication

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

2. Résoudre les défauts de réplication

1. Erreurs de journal

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
Copier après la connexion

2) Ignorer les erreurs de journal

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;
Copier après la connexion

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=&#39;<Relay_Master_Log_file>&#39;,
	-> master_log_pos=<Exec_Master_Log_Pos>;
mysql> start slave;
Copier après la connexion

4) Si Replcation fonctionne en mode GTIDs, vous avez besoin de

mysql> stop slave;
mysql> set gtid_next=&#39;uuid:nexti_d&#39;;
mysql> begin;
mysql> commit;
mysql> set gtid_next=&#39;automatic&#39;;
mysql> start slave;
Copier après la connexion

Remarque : uuid:nextid par exemple : '0470a4fd-93d1-11e3-86bf -4ec905bea80f:17'.

3. Transmission de journaux binaires multithread

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,不开启)
Copier après la connexion

Autres commandes :

mysql> set sql_log_bin=OFF; (关闭二进制日志)
mysql> set sql_log_bin=ON; (开启二进制日志)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal