GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie richte ich die MySQL-Master-Slave-Replikation auf RHEL 7 ein?

Beim MySQL-Replikationsprozess werden die Daten eines Servers automatisch in Echtzeit auf einen anderen Backup-Server kopiert. Die Datenbankreplikation bietet Fehlertoleranz und Redundanz. Wenn der Master ausfällt, werden Ihre Daten von einem anderen Server wiederhergestellt.

Im Folgenden sind die Schritte zum Konfigurieren der MySQL-Master-Slave-Replikation auf RHEL 7 aufgeführt. Dazu benötigen wir 2 Server mit unterschiedlichen IP-Adressen.

  1. Laden Sie den MySQL-Server mit dem Yum-Befehl herunter und installieren Sie ihn auf beiden Servern.

    # 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. Sobald MySQL Server installiert ist, starten und aktivieren Sie ihn für den Start beim Booten.

    sudo systemctl enable mysqld
    sudo systemctl start mysqld
  3. Finden Sie das temporäre Passwort für den MySQL-Server mit dem folgenden Befehl heraus.

    # sudo grep 'temporary password' /var/log/mysqld.log
    
  4. Führen Sie den folgenden Befehl aus, um die MySQL-Datenbank zu härten oder zu sichern.

    # sudo mysql_secure_installation
    
  5. Geben Sie das temporäre Passwort ein, das wir gerade in Schritt (3) erhalten haben, und ändern Sie das Standardpasswort.



  6. Für beste Sicherheit drücken Sie y für alle Antworten.

Schritt 1 :Masterserver konfigurieren

  1. Öffnen Sie die MySQL-Konfigurationsdatei mit Ihrem bevorzugten Editor.

    # sudo vim /etc/my.cnf
    
  2. Fügen Sie die folgende Zeile in den mysqld-Abschnitt ein.

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


  3. Starten Sie den MySQL-Dienst neu.

    # sudo systemctl restart mysqld
    
  4. Um einen Replikationsbenutzer zu erstellen, melden Sie sich mit root beim MySQL-Server an und geben Sie das Passwort ein.

    # sudo mysql -u root -p
    
  5. Wir werden den replizierten Benutzer mit dem folgenden Befehl erstellen und dem Benutzer den Slave-Zugriff gewähren. Stellen Sie sicher, dass Sie Ihre Server-IP-Adresse verwenden.

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


  6. Drücken Sie den folgenden Befehl, um den Namen und die Position der Binärdatei zu erhalten.

    mysql> SHOW MASTER STATUS\G
    


  7. Wir müssen den Master-Dateinamen mysql-bin.000034 und seine Position 154 notieren.

Schritt 2:Konfigurieren Sie den Slave-Server:

  1. Öffnen Sie die MySQL-Konfigurationsdatei mit Ihrem bevorzugten Editor.

    sudo vim /etc/my.cnf
    
  2. Fügen Sie die folgende Zeile in den mysqld-Abschnitt ein.

    bind-address = Your Slave server IP Address
    server-id = 2
    log_bin =mysql-bin
  3. Starten Sie den mysql-Dienst neu.

    sudo systemctl restart mysqld
    
  4. Lassen Sie uns den Slave-Server so konfigurieren, dass er vom Master-Server repliziert. Melden Sie sich beim MySQL-Server an.

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


  5. Wir werden die folgende Abfrage ausführen, um den Slave-Server so zu konfigurieren, dass er den Master-Server repliziert.

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. Starten Sie den Slave-Server.

    mysql> START SLAVE;
    

Schritt 3:Testen Sie die MySQL-Master-Slave-Replikation:

Wir sind mit der Konfiguration von Master- und Slave-Server fertig. Jetzt werden wir die Replikation auf beiden Servern testen.

  1. Gehen Sie zum Master-Server und drücken Sie den folgenden Befehl.

    sudo mysql -u root -p
    
  2. Erstellen Sie eine Testdatenbank.

    mysql> CREATE DATABASE replica_database;
    
  3. Gehen Sie zu Slave Server und melden Sie sich beim MySQL-Datenbankserver an.

    sudo mysql -u root -p
    
  4. Listen Sie die Datenbank mit dem folgenden Befehl auf.

    mysql> SHOW DATABASES;
    

Wenn die gesamte Konfiguration korrekt ist, sehen Sie dort die im Master erstellte Datenbank. Das ist es. Unsere MySQL-Master/Slave-Replikation funktioniert einwandfrei.


Linux
  1. So richten Sie die MySQL-Master-Master-Replikation ein

  2. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  3. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie den SVN-Server unter CentOS, RHEL und Fedora ein

  5. So richten Sie die MySQL-Replikation unter CentOS ein

So richten Sie die Master-Slave-Replikation für PostgreSQL 9.6 unter Ubuntu 16.04 ein

So richten Sie einen zentralisierten SysLog-Server unter CentOS 8 / RHEL 8 ein

So richten Sie das neueste MySQL unter Ubuntu 20.04 LTS ein

MySQL 8 Master-Slave-Replikation auf Ubuntu 20.04

So richten Sie die MySQL-Replikation in RHEL/Centos ein

So richten Sie HAProxy unter CentOS 8 ein