Réplication MySQL est un processus où les données d’un serveur sont automatiquement copié ou répliqué sur un autre serveur de sauvegarde en temps réel. La réplication assure la redondance et la tolérance aux pannes et donne à l’utilisateur la tranquillité d’esprit que même après une panne du serveur maître, les données peuvent toujours être récupérées.
Dans ce didacticiel, vous allez apprendre à configurer et mettre en place une réplication maître-esclave MySQL sur un RHEL 8 Linux.
Conditions préalables
Dans la configuration, nous allons avoir deux serveurs en cours d’exécution RHEL 8 avec les adresses IP suivantes.
Master = 173.82.120.14 Slave = 173.82.115.165
Continuons maintenant et voyons comment nous pouvons configurer la configuration de la réplication MySQL maître-esclave sur RHEL 8 Linux.
Étape 1: Installez MySQL sur le serveur maître et esclave
1. La dernière version du MySQL 8.x est déjà inclus dans le référentiel par défaut de RHEL 8 et vous pouvez l’installer en utilisant ce qui suit commande yum.
# yum -y install @mysql
Étape 2: Sécurisez MySQL sur le serveur maître et esclave
Après l’installation, vous devez maintenant démarrer le MySQL service que vous venez d’installer et faites-le démarrer automatiquement chaque fois que vous démarrez le serveur. Par conséquent, utilisez la commande suivante.
# systemctl enable mysqld # systemctl start mysqld
Ensuite, vous devez sécuriser votre installation MySQL en exécutant le script de sécurité fourni avec plusieurs opérations basées sur la sécurité telles que la définition du mot de passe root, la suppression des utilisateurs anonymes, l’interdiction de la connexion root à distance, la suppression de la base de données de test et le rechargement des privilèges.
# mysql_secure_installation
Continuez avec le reste de l’invite et répondez Yes
à toutes les questions, configurez le serveur selon les meilleures pratiques de sécurité.
Étape 3: Configuration du serveur maître MySQL
Pour commencer avec le Maître configuration du serveur, continuez et ouvrez le fichier de configuration MySQL en tapant la commande suivante.
$ sudo vim /etc/my.cnf
Dans le mysqld
section, ajoutez les lignes comme indiqué ci-dessous.
bind-address =173.82.120.14 server-id = 1 log_bin =mysql-bin
Enfin, redémarrez le MySQL un service.
$ sudo systemctl restart mysqld
Nous allons maintenant créer un utilisateur de réplication. Par conséquent, connectez-vous à votre serveur maître MySQL en tant qu’utilisateur root et fournissez le mot de passe.
$ sudo mysql -u root -p
Exécutez maintenant les commandes suivantes pour créer l’utilisateur de réplique tout en accordant à l’utilisateur l’accès esclave. N’oubliez pas d’utiliser l’adresse IP de votre machine.
mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password'; mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';
Maintenant, vous allez taper la commande suivante qui imprimera le nom et la position du fichier binaire.
mysql> SHOW MASTER STATUSG
N’oubliez pas de prendre note du nom de fichier résultant msql-bin.000002
et sa position 939
.
Étape 4: Configuration du serveur esclave MySQL
Tout comme le processus de configuration du maître, vous devez apporter les modifications suivantes au fichier de configuration de l’esclave mysql.
$ sudo vim /etc/my.cnf
Ajoutez les lignes suivantes dans le fichier de configuration sous mysqld
section.
bind-address =173.82.115.165 server-id = 2 log_bin =mysql-bin
Redémarrez le serveur.
$ sudo systemctl restart mysqld
Maintenant, l’étape suivante consiste à configurer le serveur esclave pour qu’il se réplique à partir du serveur maître. Connectez-vous au serveur MySQL.
$ sudo mysql -u root -p
Tout d’abord, arrêtez les threads de réplication.
mysql> STOP SLAVE;
Maintenant, exécutez la requête suivante qui configurera l’esclave pour qu’il se réplique à partir du serveur maître.
mysql> CHANGE MASTER TO -> MASTER_HOST='173.82.120.14' , -> MASTER_USER='replica' , -> MASTER_PASSWORD='[email protected]' , -> MASTER_LOG_FILE='mysql-bin.000002' , -> MASTER_LOG_POS=939;
Assurez-vous que vous utilisez le nom d’utilisateur et le mot de passe IP corrects. Utilisez également le nom de fichier et la position que vous avez obtenus du serveur maître.
Enfin, tapez la commande suivante pour démarrer les threads esclaves.
mysql> START SLAVE;
Étape 5: Test de la réplication maître-esclave MySQL
À ce stade, vous avez terminé la configuration des serveurs maître et esclave. Nous devons maintenant vérifier si la configuration fonctionne et si la réplication peut avoir lieu.
Pour ce faire, rendez-vous au Maître serveur et connectez-vous au serveur de base de données MySQL.
$ sudo mysql -u root -p
Créez un exemple de base de données.
mysql> CREATE DATABASE replication_database;
Maintenant, dirigez-vous vers le Trimer serveur et à nouveau, connectez-vous au serveur de base de données MySQL.
$ sudo mysql -u root -p
Maintenant, listez toutes les bases de données à l’aide de la commande suivante.
mysql> SHOW DATABASES;
Si vous voyez la base de données créée, alors le Réplication maître-esclave MySQL la configuration fonctionne.
Conclusion
La réplication est un processus assez simple qui peut être facilement réalisé. Dans ce guide, vous avez appris comment créer une réplication d’un maître MySQL en esclave dans un RHEL 8 Linux.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer:
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en guise de remerciement.
Nous sommes reconnaissants pour votre soutien sans fin.
.