Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment configurer la réplication MySQL dans RHEL, Rocky et AlmaLinux

La réplication des données est le processus de copie de vos données sur plusieurs serveurs pour améliorer la disponibilité des données et améliorer la fiabilité et les performances d'une application. Dans MySQL réplication, les données sont copiées d'une base de données du serveur maître vers d'autres nœuds en temps réel pour assurer la cohérence des données et également pour fournir une sauvegarde et une redondance.

Dans ce guide, nous montrons comment vous pouvez configurer MySQL (Maître-Esclave ) réplication dans les distributions basées sur RHEL telles que CentOS , Fédora , Rocky Linux, et AlmaLinux .

Configuration de la réplication MySQL

Alors, voici notre MySQL configuration du laboratoire de réplication.

MySQL Master - 10.128.0.14
MySQL Slave - 10.128.15.211

Commençons…

Étape 1 :Installez MySQL sur le serveur maître et esclave

Nous allons commencer par installer MySQL base de données sur le maître et esclave serveurs.

$ sudo dnf install @mysql

Une fois l'installation terminée, assurez-vous de démarrer le serveur de base de données.

$ sudo systemctl start mysqld

Ensuite, activez-le pour qu'il démarre au démarrage du système ou au redémarrage.

$ sudo systemctl enable mysqld

Ensuite, confirmez que le MySQL le serveur de base de données fonctionne comme indiqué :

$ sudo systemctl status mysqld

Étape 2 :Sécurisez MySQL sur les serveurs maître et esclave

L'étape suivante consiste à sécuriser MySQL base de données sur le maître et esclave les serveurs. En effet, les paramètres par défaut ne sont pas sécurisés et présentent des failles qui peuvent facilement être exploitées par des pirates.

Donc, pour renforcer MySQL, exécutez la commande :

$ sudo mysql_secure_installation

Tout d'abord, vous devrez définir le MySQL mot de passe racine. Assurez-vous de fournir un mot de passe racine fort, de préférence avec plus de 8 caractères qui sont un mélange de caractères majuscules, minuscules, spéciaux et numériques.

Pour les invites restantes, saisissez 'Y' pour régler le serveur de base de données sur les paramètres recommandés.

Une fois que vous avez terminé d'installer et de renforcer MySQL sur le nœud maître et esclave, la prochaine consiste à configurer le nœud maître.

Étape 3 :Configurer le nœud maître (serveur)

L'étape suivante consiste à configurer le Maître nœud et accordez à l'esclave nœud d'accès à celui-ci. Tout d'abord, nous devons modifier le fichier mysql-server.cnf fichier de configuration.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Ajoutez les lignes suivantes sous le [mysqld] rubrique.

bind-address	 = 10.128.0.14
server-id 	 = 1
log_bin		 = mysql-bin

Une fois terminé, enregistrez les modifications et quittez. Redémarrez ensuite MySQL serveur.

$ sudo sysemctl restart mysqld

Ensuite, connectez-vous à MySQL coque.

$ sudo mysql -u root -p

Exécutez les commandes suivantes pour créer un utilisateur de base de données qui sera utilisé pour lier le maître et l'esclave pour la réplication.

mysql> CREATE USER 'replica'@'10.128.15.211' IDENTIFIED BY '[email protected]';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'10.128.15.211';

Appliquez les modifications et quittez MySQL serveur.

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Vérifiez l'état du maître.

mysql> SHOW MASTER STATUS\G

Prenez note du nom de fichier et de la position. Vous en aurez besoin plus tard lors de la configuration de l'esclave pour la réplication. Dans notre cas, nous avons le nom de fichier sous la forme mysql-bin.000001 et Emplacement 1232 .

Étape 4 :Configurer le nœud esclave (serveur)

Maintenant, retournez au nœud esclave. Encore une fois, éditez le mysql-server.cnf fichier de configuration.

$ sudo vim /etc/my.cnf.d/mysql-server.cnf

Comme précédemment, collez ces lignes sous le [mysqld] section. Modifiez l'adresse IP pour qu'elle corresponde à l'adresse IP de l'esclave. Attribuez également un autre id de serveur . Ici, nous lui avons attribué la valeur de 2 .

bind-address	 = 10.128.15.211
server-id	 = 2
log_bin 	 = mysql-bin

Enregistrez les modifications et quittez le fichier. Redémarrez ensuite le serveur de base de données.

$ sudo systemctl restart mysqld

Pour configurer l'Esclave nœud à répliquer à partir du nœud maître, connectez-vous au serveur MySQL de l'esclave.

$ sudo mysql -u root -p

Tout d'abord, arrêtez les threads de réplication :

mysql> STOP SLAVE;

Exécutez ensuite la commande suivante pour configurer le nœud esclave afin de répliquer les bases de données du maître.

mysql> CHANGE MASTER TO
     MASTER_HOST='10.128.0.14' ,
     MASTER_USER='replica' ,
     MASTER_PASSWORD='[email protected]' ,
     MASTER_LOG_FILE='mysql-bin.000001' ,
     MASTER_LOG_POS=1232;

Notez que le MASTER_LOG_FILE et MASTER_LOG_POS les drapeaux correspondent au fichier et à la Position valeurs du Maître nœud à la fin de l'étape 1.

Le MASTER_HOST , MASTER_USER, et MASTER_PASSWORD correspondent respectivement à l'adresse IP maître, à l'utilisateur de réplication et au mot de passe de l'utilisateur de réplication.

Démarrez ensuite les threads de réplication esclave :

mysql> START SLAVE;

Étape 4 :Test de la réplication maître-esclave MySQL

Maintenant, pour tester si la réplication entre le nœud maître et esclave fonctionne, connectez-vous au serveur de base de données MySQL sur le nœud maître :

$ sudo mysql -u root -p

Créer une base de données de test. Ici, notre base de données de test s'appelle replication_db .

mysql> CREATE DATABASE replication_db;
Verify the existence of the database.
mysql> SHOW DATABASES;

Maintenant, dirigez-vous vers le nœud esclave, connectez-vous au serveur MySQL et confirmez que le replication_db la base de données est présente. À partir de la sortie ci-dessous, nous pouvons voir que la base de données est présente. Ceci est la confirmation que la réplication a eu lieu du nœud maître vers le nœud esclave.

mysql> SHOW DATABASES;

Et voilà, nous avons démontré avec succès comment vous pouvez mettre en place un MySQL modèle de réplication maître-esclave qui peut répliquer des bases de données du nœud maître vers le nœud esclave.