Maison > base de données > tutoriel mysql > Comment implémenter la réplication de données synchronisées MySQL

Comment implémenter la réplication de données synchronisées MySQL

王林
Libérer: 2023-05-26 15:22:26
avant
1430 Les gens l'ont consulté

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. Principes de base de la réplication synchrone des données

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

Comment implémenter la réplication de données synchronisées MySQL

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.

2. Exemple de données de synchronisation

Système d'exploitation : centos7
Base de données : mysql8
Maître (maître) : 192.168.0.101
Esclave : 192.168.0.102

1. Modifier le fichier de configuration mysql maître-esclave

Configuration de l'hôte mon. cnf

[mysqld] 
# 服务器标识,每个服务器不能一样
server_id=101
# 开启日志文件
log_bin=binlog 
# 普通用户只能读 OFF是关闭状态
read_only=off 
# 超级用户只能读 OFF是关闭状态
super_read_only=off
Copier après la connexion

Configuration de l'esclave

[mysqld]
# 服务器标识
server_id=102
# 启用binlog日志,并指定文件名前缀
log_bin=binlog
# 普通用户只能读 on是开启状态 
read_only=on 
# 超级用户只能读 on是开启状态 
super_read_only=on
Copier après la connexion

Redémarrez le service

systemctl restart mysqld
Copier après la connexion

2 L'hôte établit un compte de synchronisation et vérifie les informations sur l'état de la base de données principale

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

Affichez l'état principal de la base de données principale et obtenez le nom du fichier journal et les informations de décalage

Comment implémenter la réplication de données synchronisées MySQL

3. Configuration de la synchronisation de l'esclave

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

L'esclave démarre la synchronisation

start replica;
Copier après la connexion

4. Vérifiez l'effet de configuration de la synchronisation

Sur l'hôte, vérifiez s'il y a une connexion. depuis l'esclave

show processlist;
Copier après la connexion

Affichez l'état de la réplication de synchronisation de l'esclave

show slave status\G
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
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