Configuration de réplication maître-esclave Mysql (maître-esclave mutuel sur deux machines)

Objectif: permettre à deux serveurs mysql de se fournir mutuellement des services de synchronisation.

 

Avantages:

  1. Le principal avantage de la réplication maître-esclave mysql est de synchroniser la "sauvegarde", la base de données sur l'esclave est équivalente à une bibliothèque de sauvegarde (temps réel de base).

  2. Sur la base de la réplication maître-esclave, la séparation en lecture et en écriture peut être réalisée via mysqlproxy, et une certaine pression de requête est partagée par l'esclave.

  3. Effectuez une réplication maître-esclave bidirectionnelle, deux machines sont maîtres et esclaves l'une de l'autre, de sorte que l'écriture dans la bibliothèque de n'importe quelle machine sera synchronisée avec une autre machine en "temps réel". L'avantage du bidirectionnel est que lorsqu'un maître échoue Le temps, un autre hôte peut basculer rapidement pour continuer le service.

 

Étapes:

  1. Ajoutez un compte pour l'accès esclave sur les deux machines et accordez l'autorisation REPLICATION SLAVE.

ESCLAVE DE RÉPLICATION DE SUBVENTION ON . TO 'slave' @ '%' IDENTIFIED BY 'slave';

Accordez à l'utilisateur esclave l'autorisation REPLICATION SLAVE sur n'importe quelle table de n'importe quelle base de données. Cet utilisateur est accessible n'importe où sur le réseau et marqué avec le mot de passe esclave lors de l'accès.

 

Lorsque vous utilisez ubuntu, il convient de noter que la ligne bind-address = 127.0.0.1 dans le fichier de configuration /etc/mysql/my.cnf doit être commentée, sinon l'esclave ne pourra pas se connecter à la demande. (I C'est ubuntu, les autres versions de Linux ne savent pas si ce sera le même)

 

Afin de garantir les détails des étapes du travail, vous pouvez utiliser le mot de passe utilisateur attribué pour vous connecter une fois sur une autre machine après avoir configuré les informations relatives à l'utilisateur.

 

  1. Configurer le numéro de serveur, ouvrir le journal de bin

Editez le fichier de configuration mysql, linux: /etc/mysql/my.cnf, windows: c: / program files / mysql / mysql 5.0 / my.ini

Trouvez la balise [mysqld],

Il y a deux lignes en dessous

# server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log

Ouvrez le commentaire sur ces deux lignes. Notez que l'ID serveur ici est le numéro du serveur, donc les valeurs sur les deux serveurs doivent être définies différemment. Par exemple, 1 et 2

 

  1. Faites en sorte que les modifications de configuration de l'ID serveur et de la log-bin prennent effet:

redémarrage sudo /etc/init.d/mysql

Ou redémarrez le service mysql dans le service sous windows

 

  1. Verrouillez le mysql des deux serveurs de base de données

En mode commande mysql:

TABLES DE RINÇAGE AVEC VERROU DE LECTURE;

AFFICHER LE STATUT DE MAÎTRE;

 

Pour le moment, veuillez vous assurer que la console mysql qui exécute ces deux commandes ne se ferme pas.

 

  1. Rouvrez une console mysql et configurez l'hôte

CHANGER MAÎTRE EN

MASTER_HOST = 'hôte', #adresse d'une autre machine

MASTER_PORT = 3306, #Port d'une autre machine

MASTER_USER = 'slave', # Nom d'utilisateur attribué à la première étape sur une autre machine

MASTER_PASSWORD = 'slave', #password affecté à la première étape sur une autre machine

MASTER_LOG_FILE = 'mysql-bin.000001', # nom de fichier obtenu en exécutant SHOW MASTER STATUS sur une autre machine

MASTER_LOG_POS = 192; #Offset obtenu en exécutant SHOW MASTER STATUS sur une autre machine

 

  1. Activer la synchronisation

START SLAVE;

 

  1. Vérifier l'exactitude

AFFICHER LE STATUT DES ESCLAVES;

Si la première colonne du résultat renvoyé est En attente que le maître envoie l'événement ou la file d'attente, la configuration est correcte. Bien sûr, il peut y avoir d'autres informations qui sont également correctes, mais je ne les ai pas collectées ici ... ha ha

 

S'il y a quelque chose d'inapproprié, veuillez tirer sur des briques.

Je suppose que tu aimes

Origine blog.51cto.com/youling87/2486562
conseillé
Classement