La fonction de réplication de MySQL peut synchroniser les données d'une base de données vers plusieurs autres bases de données. La première est généralement appelée base de données maître (master) et la seconde est appelée base de données esclave (slave). Le processus de réplication MySQL utilise une méthode asynchrone, mais le délai est très faible et synchronisé en quelques secondes.
1. Les modifications de données qui se produisent sur la bibliothèque principale sont enregistrées dans le journal binaire Binlog
2 Le thread IO de la bibliothèque esclave copie le Binlog de la bibliothèque principale sur son propre relais. log Journal de relais
3 .Le thread SQL de la bibliothèque esclave réalise la réplication des données en lisant et en rejouant le journal de relais
La réplication MySQL a trois modes : niveau d'instruction, niveau de ligne et niveau mixte. Différents niveaux de réplication amènent le serveur maître à générer différentes formes de fichiers journaux binaires.
Système d'exploitation : centos7
Base de données : mysql8
Maître (maître) : 192.168.0.101
Esclave : 192.168.0.102
Configuration de l'hôte mon. cnf
[mysqld] # 服务器标识,每个服务器不能一样 server_id=101 # 开启日志文件 log_bin=binlog # 普通用户只能读 OFF是关闭状态 read_only=off # 超级用户只能读 OFF是关闭状态 super_read_only=off
Configuration de l'esclave
[mysqld] # 服务器标识 server_id=102 # 启用binlog日志,并指定文件名前缀 log_bin=binlog # 普通用户只能读 on是开启状态 read_only=on # 超级用户只能读 on是开启状态 super_read_only=on
Redémarrez le service
systemctl restart mysqld
Connectez-vous à la base de données et créez un compte
create user repl identified with mysql_native_password by 'repl123'; grant replication slave on *.* to repl; flush privileges;
Affichez l'état principal de la base de données principale et obtenez le nom du fichier journal et les informations de décalage
Copiez l'opération de journal binaire de l'hôte (une partie des données est vérifiée en vérifiant l'état principal de la bibliothèque principale)
Le compte de synchronisation de l'hôte : source_user
Mot de passe : source_password
Port : source_port
Fichier journal : source_log_file
Offset : source_log_pos
change replication source to source_host='192.168.0.101', source_user='repl', source_password='repl123', source_port=3306,source_log_file='binlog.000001', source_log_pos=154;
L'esclave démarre la synchronisation
start replica;
Sur l'hôte, vérifiez s'il y a une connexion. depuis l'esclave
show processlist;
Affichez l'état de la réplication de synchronisation de l'esclave
show slave status\G
Sur l'hôte, insérez les données dans une table et vérifiez les données dans la table correspondante de l'esclave. Les résultats du test sont très bons (omis)
.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!