video tutorial replication mysql | AITIBOUREK
Table des matières:
- Conditions préalables
- Installez MySQL
- Configurer le serveur maître
- Configurer le serveur esclave
- Testez la configuration
- Conclusion
La réplication MySQL est un processus qui vous permet de copier automatiquement les données d'un serveur de base de données vers un ou plusieurs serveurs.
MySQL prend en charge un certain nombre de topologies de réplication, la topologie maître / esclave étant l'une des topologies les plus connues dans lesquelles un serveur de base de données agit comme maître, tandis qu'un ou plusieurs serveurs agissent comme esclaves. Par défaut, la réplication est asynchrone où le maître envoie des événements qui décrivent les modifications de la base de données à son journal binaire et les esclaves demandent les événements lorsqu'ils sont prêts.
Dans ce didacticiel, nous expliquerons comment configurer une réplication maître / esclave MySQL avec un serveur maître et un serveur esclave sur CentOS 7. Les mêmes étapes s'appliquent à MariaDB.
Ce type de topologie de réplication est mieux adapté au déploiement de réplicas en lecture pour la mise à l'échelle en lecture, la sauvegarde de bases de données en direct pour la reprise après sinistre et pour les travaux d'analyse.
Conditions préalables
Dans cet exemple, nous supposons que vous avez deux serveurs exécutant CentOS 7, qui peuvent communiquer entre eux sur un réseau privé. Si votre fournisseur d'hébergement ne fournit pas d'adresses IP privées, vous pouvez utiliser les adresses IP publiques et configurer votre pare-feu pour autoriser le trafic sur le port 3306 uniquement à partir de sources fiables.
Les serveurs de cet exemple ont les adresses IP suivantes:
Master IP: 192.168.121.59 Slave IP: 192.168.121.14
Installez MySQL
La valeur par défaut Les référentiels CentOS 7 n'incluent pas de packages MySQL, nous allons donc installer MySQL à partir de leur référentiel Yum officiel. Pour éviter tout problème, nous installerons la même version MySQL 5.7 sur les deux serveurs.
Installez MySQL sur les serveurs maître et esclave:
sudo yum localinstall
sudo yum install mysql-community-server
Une fois l'installation terminée, démarrez le service MySQL et activez-le pour démarrer automatiquement au démarrage avec:
sudo systemctl enable mysqld
sudo systemctl start mysqld
Lorsque le serveur MySQL démarre pour la première fois, un mot de passe temporaire est généré pour l'utilisateur racine MySQL. Pour trouver le mot de passe, utilisez la commande grep suivante:
sudo grep 'temporary password' /var/log/mysqld.log
Exécutez la commande
mysql_secure_installation
pour définir votre nouveau mot de passe root et améliorer la sécurité de l'instance MySQL:
mysql_secure_installation
Saisissez le mot de passe root temporaire et répondez
Y
(oui) à toutes les questions.
Configurer le serveur maître
Tout d'abord, nous allons configurer le serveur maître MySQL et apporter les modifications suivantes:
- Définissez le serveur MySQL pour écouter sur l'IP privé Définissez un ID de serveur unique Activez la journalisation binaire.
Pour ce faire, ouvrez le fichier de configuration MySQL et ajoutez les lignes suivantes dans le
section:
sudo nano /etc/my.cnf
maître: /etc/my.cnf
bind-address = 192.168.121.59 server-id = 1 log_bin = mysql-bin
Une fois terminé, redémarrez le service MySQL pour que les modifications prennent effet
sudo systemctl restart mysqld
L'étape suivante consiste à créer un nouvel utilisateur de réplication. Connectez-vous au serveur MySQL en tant qu'utilisateur root:
mysql -uroot -p
Depuis l'intérieur de l'invite MySQL, exécutez les requêtes SQL suivantes qui créeront l'utilisateur de
replica
et accorderont le privilège
REPLICATION SLAVE
à l'utilisateur:
CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'strong_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14';
Assurez-vous de changer l'adresse IP avec votre adresse IP esclave. Vous pouvez nommer l'utilisateur comme vous le souhaitez.
Tout en restant dans l'invite MySQL, exécutez la commande suivante qui affichera le nom et la position du fichier binaire.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
Prenez note du nom du fichier, 'mysql-bin.000001' et de la position '1427'. Vous aurez besoin de ces valeurs lors de la configuration du serveur esclave. Ces valeurs seront probablement différentes sur votre serveur.
Configurer le serveur esclave
Comme pour le serveur maître ci-dessus, nous apporterons les modifications suivantes au serveur esclave:
- Configurer le serveur MySQL pour écouter sur l'IPSet privé un ID de serveur unique Activer la journalisation binaire
Ouvrez le fichier de configuration MySQL et modifiez les lignes suivantes:
sudo nano /etc/my.cnf
esclave: /etc/my.cnf
bind-address = 192.168.121.14 server-id = 2 log_bin = mysql-bin
Redémarrez le service MySQL:
sudo systemctl restart mysqld
L'étape suivante consiste à configurer les paramètres que le serveur esclave utilisera pour se connecter au serveur maître. Connectez-vous au shell MySQL:
mysql -uroot -p
Tout d'abord, arrêtez les threads esclaves:
STOP SLAVE;
Exécutez la requête suivante qui configurera l'esclave pour répliquer le maître:
CHANGE MASTER TO
MASTER_HOST='192.168.121.59',
MASTER_USER='replica',
MASTER_PASSWORD='strong_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1427;
Assurez-vous que vous utilisez la bonne adresse IP, le nom d'utilisateur et le mot de passe. Le nom et la position du fichier journal doivent être identiques aux valeurs que vous avez obtenues du serveur maître.
Une fois terminé, démarrez les threads esclaves.
Testez la configuration
À ce stade, vous devez disposer d'une configuration de réplication maître / esclave fonctionnelle.
Pour vérifier que tout fonctionne comme prévu, nous allons créer une nouvelle base de données sur le serveur maître:
mysql -uroot -p
CREATE DATABASE replicatest;
Connectez-vous au shell MySQL esclave:
mysql -uroot -p
Exécutez la commande suivante pour répertorier toutes les bases de données:
SHOW DATABASES;
Vous remarquerez que la base de données que vous avez créée sur le serveur maître est répliquée sur l'esclave:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
Conclusion
Dans ce tutoriel, nous vous avons montré que vous créez une réplication MySQL maître / esclave sur CentOS 7.
N'hésitez pas à laisser un commentaire si vous avez des questions.
centos mysql mariadbComment configurer, configurer, utiliser le contrôle parental dans Windows 7

Apprenez comment activer, désactiver, configurer et utiliser la fonction de contrôle parental dans Windows 7 pour surveiller et contrôler les activités Internet des enfants.
Comment configurer mysql (mariadb) master

Dans ce guide, nous vous montrerons comment configurer la réplication maître / esclave MariaDB avec un serveur maître et un serveur esclave sur Debian 10. MariaDB est l'implémentation par défaut de MySQL dans Debian.
Comment configurer mysql master

La réplication MySQL est un processus qui permet de copier automatiquement les données d'un serveur de base de données vers un ou plusieurs serveurs. Ce didacticiel couvre un exemple de base de la réplication maître / esclave MySQL avec un serveur maître et un serveur esclave sur Ubuntu 18.04.