Configuration de laboratoire
Node maître - 192.168.43.13
Nœud esclave - 192.168.43.252
Étape 1: Installez MariADB sur les serveurs maître et esclaves
Pour commencer, vous devez installer MariaDB sur le maître et l'esclave. Suivez donc les étapes ci-dessous:
Tout d'abord, connectez-vous au serveur maître et mettez à jour les packages système comme indiqué:
$ sudo dnf mise à jour
Après avoir mis à jour avec succès votre système, continuez et installez MariaDB
$ sudo dnf installer mariaDb-server
Une fois l'installation réussie, vous pouvez vérifier que MariADB est installé en exécutant la commande:
$ rpm -qa | grep mariadb
Pour obtenir des informations plus détaillées, exécutez la commande:
$ RPM -QI MariaDB-Server
Maintenant, commencez le service MariaDB
$ sudo systemctl start mariadb
De plus, vous pouvez également permettre au service de démarrer automatiquement sur n'importe quelle session de démarrage / redémarrage.
$ sudo systemctl activer mariaDB
Pour vérifier que le moteur de la base de données MARIADB est opérationnel, émettez la commande:
$ sudo systemctl status mariadb
Parfait! Mariadb est opérationnel comme nous nous attendions.
En l'état, MariADB n'est pas sécurisé et tout utilisateur peut se connecter au moteur de la base de données et avoir accès à toutes les bases de données et apporter des modifications. Bien sûr, nous ne voulons pas que cela se produise et sécuriser la base de données devrait être une priorité absolue. Nous devons donc sécuriser le moteur de la base de données en définissant un mot de passe racine. Alors, exécutez la commande ci-dessous:
$ sudo mysql_secure_installation
Ce qui suit est une invite interactive qui devra définir le mot de passe racine pour la base de données et répondre à quelques questions.
Par défaut, MariaDB fonctionne sur le port 3306. Si vous exécutez un pare-feu, vous devez autoriser ce port afin que le moteur de base de données puisse être accessible aux utilisateurs et services externes.
Pour ouvrir le port sur le pare-feu, exécutez la règle du pare-feu suivant:
$ sudo firewalld-cmd --add-port = 3306 / tcp --zone = public --permanent
Pour que la règle soit appliquée, rechargez le pare-feu:
$ sudo Firewalld-CMD - Reload
Avec MariaDB installé avec succès et sécurisé sur le serveur maître, répétez les mêmes étapes sur le serveur esclave.
Étape 2: Configurez MariaDB sur le serveur maître
Nous devons configurer MariAdb Daemon afin que notre serveur maître visé agisse comme un serveur dans la configuration. Alors ouvrez le fichier de configuration / etc / mon.CNF
$ sudo vim / etc / mon.CNF
Ajoutez la configuration ci-dessous
[mysqld]Enregistrer et quitter le fichier de configuration. Pour effectuer les modifications, redémarrez le service MARIADB.
$ sudo systemctl redémarrer mariaDb-server
Étape 3: Configurer le serveur esclave
Tout comme le serveur maître, l'esclave doit être configuré pour agir comme un. Ouvrez donc le fichier de configuration comme avant:
$ sudo vim / etc / mon.CNF
Ajoutez la configuration ci-dessous
[mysqld]Soyez impatient de fournir un différent 'server_id'du serveur maître, qui est 2 dans ce cas. Et tout comme le serveur maître, le 'bind_address'Le paramètre doit pointer vers l'adresse IP de l'esclave.
Enregistrer et quitter le fichier.
Étape 3: Créez un utilisateur de réplication dans le serveur maître
Pour configurer l'esclave pour la réplication, nous devons retourner au nœud maître et créer un utilisateur de réplication. Connectez-vous au moteur de la base de données MARIADB.
$ mysql -u root -pTout d'abord, arrêtez l'utilisateur d'esclaves.
MariaDb [(aucun)]> Stop Slave;Créer un utilisateur de réplication avec les commandes affichées:
MariaDb [(aucun)]> Slave de réplication de la subvention sur *.* À 'réplique_user' @ '192.168.43.252 '
Identifié par «p @ sword123»;
Requête ok, 0 lignes affectées (0.06 SEC)
MariaDb [(aucun)]> Privilèges de rinçage;
Requête ok, 0 lignes affectées (0.04 SEC)
MariaDb [(Aucun)]> Tables de rinçage avec verrouillage de lecture;
Requête ok, 0 lignes affectées (0.02 SEC)
MariaDb [(aucun)]> sortie;
Requête ok, 0 lignes affectées (0.02 SEC)
Par la suite, vérifiez cet état du maître en fonctionnant:
MariaDb [(aucun)]> afficher le statut maître \ gNotez soigneusement les valeurs du nom de fichier et de la position. Ceux-ci seront plus tard utilisés pour configurer l'esclave pour la réplication.
De la sortie ci-dessus, cela se traduit par:
Fichier: mysql-bin.000001
Position: 1317
Sortez du moteur MariaDB et créez une copie de sauvegarde du serveur maître comme indiqué:
$ sudo mysqldump - toutes les databases -U root -p> masterdatabase.SQL
Connectez-vous à MariaDB et déverrouillez les tables:
MariaDB [(Aucun)]> Déverrouiller les tables;N'oubliez pas la copie de sauvegarde que nous avons créée pour la base de données maître? Nous sommes prêts à le copier sur le serveur esclave. Alors exécutez la commande ci-dessous:
$ SCP Masterdatabase.SQL ROOT @ 192.168.43.13: / root /
Étape 4: Configurer l'esclave pour la réplication
De retour sur le nœud esclave, importez le fichier de sauvegarde que nous avons copié du maître vers le moteur MariaDB.
$ mysql -u root -p < masterdatabase.sqlPuis redémarrer le service MariaDB
$ systemctl redémarrer mariadb
Connectez maintenant au moteur de la base de données MARIADB et configurez l'esclave comme suit:
MariaDb [(aucun)]> Stop Slave; MariaDb [(Aucun)]> Changez maître en master_host = '192.168.43.13 ', Master_User =' Replica_User ',N'oubliez pas les valeurs que nous avons dit que vous devriez vous souvenir et éventuellement les noter lors de l'affichage de l'état du serveur maître? Ceux-ci ont finalement été définis dans le Maître_log_file et Maître_log_pos Attributs comme vu.
Enfin, commencez l'esclave pour initialiser l'esclave pour commencer à se répliquer du maître:
MariaDB [(Aucun)]> Start Slave;Puis vérifiez l'état de l'esclave
MariaDB [(Aucun)]> Afficher le statut d'esclave;Si la configuration a été parfaitement effectuée, vous ne devriez pas obtenir la sortie ci-dessous sans erreur.
L'esclave est maintenant prêt pour la réplication.
Étape 5: Tester la réplication de la base de données
En fin de compte, nous devons confirmer si notre configuration fonctionne. Alors connectez-vous à l'instance mariaDB dans le maître et créez une base de données de test comme indiqué
MariaDB [(Aucun)]> Créer une base de données réplique_db;Puis confirmez la création de la base de données
MariaDb [(aucun)]> afficher des bases de données;Retournez au nœud esclave et vérifiez si la base de données existe.
Parfait! Notre configuration fonctionne! Toutes les bases de données ultérieures créées dans le maître seront automatiquement reproduites et les modifications synchronisées sur le nœud esclave. Et cela nous amène à la fin de ce guide.