GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer la réplication maître-esclave MySQL sur RHEL 7 ?

Dans le processus de réplication MySQL, les données d'un serveur sont automatiquement copiées sur un autre serveur de sauvegarde en temps réel. La réplication de base de données offre une tolérance aux pannes et une redondance. Si le maître échoue, vos données seront récupérées à partir d'un autre serveur.

Voici les étapes pour configurer la réplication MySQL maître-esclave sur RHEL 7. Pour ce faire, nous avons besoin de 2 serveurs avec des adresses IP différentes.

  1. Téléchargez et installez le serveur MySQL sur les deux serveurs à l'aide de la commande Yum.

    # wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
    # sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm # sudo yum install mysql-server
  2. Une fois le serveur MySQL installé, démarrez-le et activez-le pour démarrer au démarrage.

    sudo systemctl enable mysqld
    sudo systemctl start mysqld
  3. Découvrez le mot de passe temporaire du serveur mysql à l'aide de la commande ci-dessous.

    # sudo grep 'temporary password' /var/log/mysqld.log
    
  4. Exécutez la commande ci-dessous pour renforcer ou sécuriser la base de données MySQL.

    # sudo mysql_secure_installation
    
  5. Entrez le mot de passe temporaire que nous venons d'obtenir à l'étape (3) et modifiez le mot de passe par défaut.



  6. Pour garantir une sécurité optimale, appuyez sur y pour toutes les réponses.

Étape 1 :Configurer le serveur maître

  1. Ouvrez le fichier de configuration MySQL à l'aide de votre éditeur préféré.

    # sudo vim /etc/my.cnf
    
  2. Ajouter la ligne ci-dessous dans la section mysqld.

    # bind-address = Your Master server IP Address
    server-id = 1
    log_bin =mysql-bin


  3. Redémarrez le service mysql.

    # sudo systemctl restart mysqld
    
  4. Pour créer un utilisateur de réplication, connectez-vous au serveur mysql en utilisant root et fournissez le mot de passe.

    # sudo mysql -u root -p
    
  5. Nous allons créer l'utilisateur réplique avec la commande ci-dessous et accorder l'accès esclave à l'utilisateur. Assurez-vous d'utiliser l'adresse IP de votre serveur.

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


  6. Appuyez sur la commande ci-dessous pour obtenir le nom et la position du fichier binaire.

    mysql> SHOW MASTER STATUS\G
    


  7. Nous devrons noter le nom du fichier maître mysql-bin.000034 et sa position 154.

Étape 2 :Configurer le serveur esclave :

  1. Ouvrez le fichier de configuration MySQL à l'aide de votre éditeur préféré.

    sudo vim /etc/my.cnf
    
  2. Ajouter la ligne ci-dessous dans la section mysqld.

    bind-address = Your Slave server IP Address
    server-id = 2
    log_bin =mysql-bin
  3. Redémarrez le service mysql.

    sudo systemctl restart mysqld
    
  4. Configurons le serveur esclave pour répliquer à partir du serveur maître. Connectez-vous au serveur MySQL.

    sudo mysql -u root -p
    mysql> STOP SLAVE;


  5. Nous allons exécuter la requête ci-dessous pour configurer le serveur esclave afin de répliquer le serveur maître.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.248.174.101',
    -> MASTER_USER='replica',
    -> MASTER_PASSWORD='[email protected]',
    -> MASTER_LOG_FILE='mysql-bin.000034',
    -> MASTER_LOG_POS=154;

  1. Démarrer le serveur esclave.

    mysql> START SLAVE;
    

Etape 3 :Tester la Réplication MySQL Maître-Esclave :

Nous en avons terminé avec la configuration du serveur maître et esclave. Maintenant, nous allons tester la réplication sur les deux serveurs.

  1. Allez sur le serveur maître et appuyez sur la commande ci-dessous.

    sudo mysql -u root -p
    
  2. Créer une base de données de test.

    mysql> CREATE DATABASE replica_database;
    
  3. Allez sur le serveur esclave et connectez-vous au serveur de base de données MySQL.

    sudo mysql -u root -p
    
  4. Répertorier la base de données à l'aide de la commande ci-dessous.

    mysql> SHOW DATABASES;
    

Si toute la configuration est correcte, vous y verrez la base de données créée en master. Ça y est. Notre réplication maître/esclave MySQL fonctionne correctement.


Linux
  1. Comment configurer la réplication MySQL maître-maître

  2. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  3. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  4. Comment configurer le serveur SVN sur CentOS, RHEL et Fedora

  5. Comment configurer un serveur proxy squid sur CentOS/RHEL 7

Comment configurer la réplication maître-esclave pour PostgreSQL 9.6 sur Ubuntu 16.04

Comment configurer le serveur SysLog centralisé sur CentOS 8 / RHEL 8

Comment configurer le dernier MySQL sur Ubuntu 20.04 LTS

Réplication maître-esclave MySQL 8 sur Ubuntu 20.04

Comment configurer la réplication MySQL dans RHEL/Centos

Comment configurer HAProxy sur CentOS 8