Maison > base de données > tutoriel mysql > Comment configurer la réplication maître-maître MySQL

Comment configurer la réplication maître-maître MySQL

不言
Libérer: 2019-03-05 11:12:25
original
3131 Les gens l'ont consulté

La réplication Comment configurer la réplication maître-maître MySQL maître-esclave consiste à configurer le serveur esclave pour qu'il se mette à jour immédiatement après que le serveur maître ait terminé les modifications. Mais si des modifications sont apportées sur le serveur esclave, celui-ci ne mettra pas à jour le maître. Cet article présentera la configuration de la réplication Maître-Maître entre les serveurs Comment configurer la réplication maître-maître MySQL.

Comment configurer la réplication maître-maître MySQL

Dans cette configuration, toutes les modifications apportées sur l'un ou l'autre serveur seront mises à jour sur l'autre serveur.

Détails de configuration :

Master-1: 192.168.1.15
Master-2: 192.168.1.16
Database: mydb
Copier après la connexion

Étape 1 : Configurer le serveur Comment configurer la réplication maître-maître MySQL Master-1

Modifier le Comment configurer la réplication maître-maître MySQL fichier de configuration et ajoutez le code suivant dans la section [mysqld].

# vim /etc/my.cnf
Copier après la connexion
[mysqld]
log-bin=mysql-bin
binlog-do-db=mydb
server-id=1
Copier après la connexion

Redémarrez le serveur Comment configurer la réplication maître-maître MySQL pour que les modifications prennent effet.

# service mysqld restart
Copier après la connexion

Créez un compte mysql avec les autorisations REPLICATION SLAVE sur le serveur Master-1, et le client de réplication se connectera au maître.

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'secretpassword';
mysql> FLUSH PRIVILEGES;
Copier après la connexion

Il existe des instructions d'écriture de bloc sur toutes les tables, donc aucune modification ne peut être apportée après la sauvegarde.

mysql> use mydb;
mysql> FLUSH TABLES WITH READ LOCK;
Copier après la connexion

Utilisez les commandes suivantes pour vérifier le nom actuel du fichier journal binaire (Fichier) et la valeur de décalage actuelle (Position).

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |      332 | mydb         |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
Copier après la connexion

Le résultat ci-dessus montre que le binaire actuel utilise mysql-bin.000003 avec un décalage de 332. Notez ces valeurs pour les utiliser sur le serveur master-2 à l'étape suivante.

Sauvegardez la base de données et copiez-la sur un autre serveur Comment configurer la réplication maître-maître MySQL.

# mysqldump -u root -p mydb > mydb.sql
# scp mydb.sql 192.168.1.16:/opt/
Copier après la connexion

Une fois la sauvegarde terminée, supprimez le READ LOCK de la table afin que les modifications puissent être apportées.

mysql> UNLOCK TABLES;
Copier après la connexion

Étape 2 : Configurer le serveur Comment configurer la réplication maître-maître MySQL Master-2

Modifiez le fichier de configuration mysql Master-2 et ajoutez les valeurs suivantes sous le champ [mysqld ] section.

#vim /etc/my.cnf
[mysqld] 
log-bin = mysql-bin 
binlog-do-db = mydb 
server-id = 1
Copier après la connexion

server-id est toujours une valeur non nulle. Ces valeurs ne seront jamais similaires à celles des autres maîtres ou esclaves.

Redémarrez le serveur Comment configurer la réplication maître-maître MySQL, si la réplication est configurée, utilisez -skip-slave-start au démarrage, ne vous connectez pas immédiatement au serveur maître.

#service mysqld restart
Copier après la connexion

Restaurez la sauvegarde de la base de données effectuée à partir du serveur maître.

#mysql -u root -p mydb </opt/mydb.sql
Copier après la connexion

Créez un compte mysql avec les autorisations REPLICATION SLAVE sur le serveur Master-1, et le client de réplication se connectera au maître.

mysql> GRANT REPLICATION SLAVE ON *.*&#39;&#39;repl_user&#39;@&#39;%&#39;IDENTIFIED BY&#39;secretpassword&#39;; 
mysql> FLUSH PRIVILEGES;
Copier après la connexion

Utilisez les commandes suivantes pour vérifier le nom du fichier journal binaire actuel (Fichier) et la valeur de décalage actuelle (Position).

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      847 | mydb         |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
Copier après la connexion

Le résultat ci-dessus montre que le binaire actuel utilise mysql-bin.000001 avec un décalage de 847. Notez ces valeurs pour les utiliser à l'étape 3.

Utilisez la commande suivante pour définir la valeur de l'option sur le serveur esclave.

mysql> CHANGE MASTER TO MASTER_HOST =&#39;192.168.1.15&#39;,
    - > MASTER_USER =&#39;repl_user&#39;,
    - > MASTER_PASSWORD =&#39;secretpassword&#39;,
    - > MASTER_LOG_FILE =&#39;mysql-bin.000003&#39;,
    - > MASTER_LOG_POS = 332;
Copier après la connexion

Étape 3 : Terminez l'installation de Comment configurer la réplication maître-maître MySQL Master-1

Connectez-vous au serveur Comment configurer la réplication maître-maître MySQL Master-1 et exécutez la commande suivante.

mysql> CHANGE MASTER TO MASTER_HOST =&#39;192.168.1.16&#39;,
     MASTER_USER =&#39;repl_user&#39;,
     MASTER_PASSWORD =&#39;secretpassword&#39;,
     MASTER_LOG_FILE =&#39;mysql-bin.000001&#39;,
     MASTER_LOG_POS = 847;
Copier après la connexion


Étape 4 : Démarrez SLAVE sur les deux serveurs

Exécutez les commandes suivantes sur les deux serveurs pour démarrer le processus de réplication esclave.

mysql> SLAVE START;
Copier après la connexion

La réplication Comment configurer la réplication maître-maître MySQL Master-Master a été configurée avec succès sur votre système et votre mode de travail. Pour tester que la réplication fonctionne correctement, apportez des modifications sur l'un des serveurs et vérifiez si les modifications sont reflétées sur les autres serveurs.

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