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

Comment configurer la réplication maître-esclave de la base de données MySQL ?

WBOY
WBOYoriginal
2023-07-13 22:05:432734parcourir

Comment configurer la réplication maître-esclave de la base de données MySQL ?

La réplication maître-esclave de la base de données MySQL est une solution courante de sauvegarde des données et de haute disponibilité. En configurant la réplication maître-esclave, vous pouvez synchroniser les données d'un serveur MySQL (serveur maître) à un autre (serveur esclave), améliorant ainsi la disponibilité et les performances de la base de données.

Ce qui suit explique comment configurer la réplication maître-esclave dans une base de données MySQL et fournit des exemples de code correspondants.

  1. Assurez-vous que le serveur MySQL est installé et démarré

Tout d'abord, assurez-vous que le serveur MySQL a été installé sur votre système et que le service MySQL a été démarré.

  1. Configurer le serveur principal

Configurer les éléments suivants sur le serveur principal :

2.1 Modifier le fichier de configuration du serveur principal

Rechercher le fichier de configuration du serveur principal (généralement situé dans /etc/mysql/my. cnf ou /etc/my .cnf), et ajoutez la configuration suivante :

[mysqld]
server-id=1
log_bin=mysql-bin
binlog_do_db=your_database_name

Parmi eux, server-id est utilisé pour identifier l'ID unique du serveur, qui doit être unique dans la réplication maître-esclave. log_bin spécifie le nom de fichier du journal binaire et binlog_do_db spécifie le nom de la base de données qui doit être synchronisée (plusieurs peuvent être définis, séparés par des virgules).

2.2 Redémarrez le serveur principal

Après avoir enregistré et fermé le fichier de configuration, redémarrez le serveur principal pour que la configuration prenne effet.

$ sudo service mysql restart
  1. Configurer le serveur esclave

Configurer les éléments suivants sur le serveur esclave :

3.1 Modifier le fichier de configuration du serveur esclave

Rechercher le fichier de configuration du serveur esclave (généralement situé dans /etc/mysql/my .cnf ou /etc/ my.cnf), et ajoutez la configuration suivante :

[mysqld]
server-id=2
relay-log=mysql-relay-bin
log_slave_updates=1
read_only=1

où server-id est également utilisé pour identifier l'ID unique du serveur. relay-log spécifie le nom du fichier journal de relais du serveur esclave. Log_slave_updates est défini sur 1 pour indiquer que le serveur esclave enregistre également les journaux binaires. Read_only est défini sur 1 pour indiquer que le serveur esclave est en lecture seule.

3.2 Redémarrez le serveur esclave

Après avoir enregistré et fermé le fichier de configuration, redémarrez le serveur esclave pour que la configuration prenne effet.

$ sudo service mysql restart
  1. Connectez-vous au serveur maître et créez un utilisateur de réplication

Tout d'abord, connectez-vous au serveur maître à l'aide du client MySQL et créez un utilisateur pour la réplication :

$ mysql -u root -p
mysql> CREATE USER 'replication'@'%' IDENTIFIED BY 'your_password';
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replication'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SHOW MASTER STATUS;

Où "réplication" est le nom d'utilisateur de l'utilisateur de réplication , 'your_password' est le mot de passe de l'utilisateur copié, veuillez le modifier en fonction de la situation réelle.

Enfin, exécutez la commande SHOW MASTER STATUS et enregistrez les valeurs de File et Position, qui seront utilisées ultérieurement sur le serveur esclave.

  1. Connectez-vous au serveur esclave et configurez la réplication maître-esclave

Utilisez le client MySQL pour vous connecter au serveur esclave et configurez la réplication maître-esclave :

$ mysql -u root -p
mysql> CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS G;

Où, 'master_host' est l'adresse IP ou le nom d'hôte de le serveur maître, 'replication' est le nom d'utilisateur de l'utilisateur de réplication, 'your_password' est le mot de passe de l'utilisateur de réplication, 'master_log_file' et 'master_log_pos' sont les valeurs de fichier et de position obtenues à partir du serveur maître.

Enfin, exécutez la commande SHOW SLAVE STATUS G et vérifiez si les valeurs de Slave_IO_Running et Slave_SQL_Running sont « Oui » pour vous assurer que la réplication maître-esclave a été configurée avec succès.

Une fois la configuration terminée, les données sur le serveur maître seront synchronisées avec le serveur esclave, réalisant ainsi la réplication maître-esclave.

Résumé

Cet article explique comment configurer la réplication maître-esclave dans une base de données MySQL et fournit des exemples de code correspondants. Grâce à la réplication maître-esclave, la sauvegarde des données et la haute disponibilité peuvent être obtenues, et la disponibilité et les performances de la base de données peuvent être améliorées. Le processus de configuration est relativement simple, mais dans les applications réelles, vous devez toujours prêter attention à des problèmes tels que la cohérence de la configuration et la gestion des erreurs pour garantir la stabilité et la fiabilité de la réplication maître-esclave.

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!

Déclaration:
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