Configurer MySQL en mode de duplication Master/Slave pour MariaDB


261 views
Temps de lecture 3min 42s
4/11/2023, 2:32:37 AM
Auteur : Michael

Configurer MySQL en mode de duplication Master/Slave pour MariaDB

La duplication Master/Slave est une méthode de configuration de MariaDB pour la réplication de bases de données. Elle permet de créer une copie exacte (esclave) d'une base de données (maître) afin d'améliorer la disponibilité et la redondance des données.

Lorsque le maître effectue des modifications, celles-ci sont répliquées automatiquement sur l'esclave, permettant ainsi d'avoir une copie à jour des données en temps réel.

 

Étapes pour configurer MySQL en mode de duplication Master/Slave :

 

Installer MariaDB

Assurez-vous que MariaDB est installé sur les serveurs maître et esclave. Si ce n'est pas le cas, vous pouvez les installer en utilisant les commandes suivantes :

sudo apt update 
sudo apt install mariadb-server

 

 

Configurer le serveur maître

Ouvrez le fichier de configuration de MariaDB sur le serveur maître en utilisant la commande suivante :

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ajoutez les lignes suivantes sous la section [mysqld] pour configurer le serveur maître :

server-id = 1 
log-bin = /var/log/mysql/mysql-bin.log 
binlog-do-db = NOM_DE_LA_BASE_DE_DONNÉES

Assurez-vous de remplacer NOM_DE_LA_BASE_DE_DONNÉES par le nom de la base de données que vous souhaitez répliquer.

Enregistrez et fermez le fichier de configuration.

 

Redémarrez le serveur MariaDB pour appliquer les modifications :

sudo service mysql restart

 

 

Configurer le serveur esclave

Ouvrez le fichier de configuration de MariaDB sur le serveur esclave en utilisant la commande suivante :

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ajoutez les lignes suivantes sous la section [mysqld] pour configurer le serveur esclave :

server-id = 2
relay-log = /var/log/mysql/relay-bin.log
log-slave-updates = 1
read-only = 1

Enregistrez et fermez le fichier de configuration.

 

Redémarrez le serveur MariaDB pour appliquer les modifications :

sudo service mysql restart

 

 

Configurer la réplication

Connectez-vous au serveur maître en utilisant le client MySQL :

mysql -u root -p

Créez un utilisateur pour la réplication avec les autorisations appropriées :

GRANT REPLICATION SLAVE ON *.* TO 'UTILISATEUR_REPLICATION'@'%' IDENTIFIED BY 'MOT_DE_PASSE';

Assurez-vous de remplacer UTILISATEUR_REPLICATION par le nom d'utilisateur que vous souhaitez utiliser pour la réplication, et MOT_DE_PASSE par le mot de passe correspondant.

 

Notez les informations suivantes du serveur maître :

SHOW MASTER STATUS;

Vous aurez besoin des valeurs de File et Position pour la configuration de l'esclave.

 

Connectez-vous au serveur esclave en utilisant le client MySQL :

mysql -u root -p

 

Configurez le serveur esclave pour qu'il réplique le serveur maître en utilisant les informations notées précédemment :

CHANGE MASTER TO MASTER_HOST='IP_DU_SERVEUR_MAÎTRE', MASTER_USER='UTILISATEUR_REPLICATION', MASTER_PASSWORD='MOT_DE_PASSE', MASTER_LOG_FILE='Nom_du_fichier_binlog_du_maître', MASTER_LOG_POS=Position_du_fichier_binlog_du_maître;

Assurez-vous de remplacer IP_DU_SERVEUR_MAÎTRE par l'adresse IP du serveur maître, UTILISATEUR_REPLICATION et MOT_DE_PASSE par les informations d'utilisateur que vous avez configurées précédemment, et Nom_du_fichier_binlog_du_maître et Position_du_fichier_binlog_du_maître par les valeurs obtenues à partir de la commande SHOW MASTER STATUS sur le serveur maître.

 

Démarrez la réplication sur le serveur esclave :

START SLAVE;

 

Vérifiez l'état de la réplication sur le serveur esclave :

SHOW SLAVE STATUS\G

Assurez-vous que le champ Slave_IO_State affiche "Waiting for master to send event" et que le champ Slave_IO_Running ainsi que le champ Slave_SQL_Running affichent "Yes", ce qui signifie que la réplication est en cours d'exécution sans erreur.

 

Et voilà, vous avez configuré la réplication Master/Slave pour MariaDB!

Les modifications apportées sur le serveur maître seront automatiquement répliquées sur le serveur esclave, offrant ainsi une duplication des données pour améliorer la disponibilité et la redondance.

 

Veuillez noter que la réplication Master/Slave nécessite une gestion appropriée des sauvegardes, des mises à jour et des éventuelles pannes pour assurer l'intégrité des données.