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

So richten Sie die MariaDB-Master-Slave-Replikation unter Ubuntu 18.04 ein

MariaDB ist ein kostenloses relationales Open-Source-Datenbankverwaltungssystem und eine der beliebtesten Optionen. Replikation ist der Vorgang des Kopierens von Daten von einem Master-Datenbankserver auf einen anderen Slave-Datenbankserver. In der Master-Slave-Topologie fungiert ein Server als Master und andere Server als Slaves. Bei der Master-Slave-Replikation werden Daten nur in eine Richtung repliziert. Wenn Sie die Daten auf dem Slave-Server ändern, werden sie nicht auf den Master-Server repliziert. Wenn der Master-Server ausfällt, können Sie Ihre Daten immer noch vom Slave-Server wiederherstellen.

Sie können die MariaDB-Master-Slave-Replikation für verschiedene Zwecke verwenden; einige davon sind unten aufgeführt:

  • Skalierbarkeit und Hochverfügbarkeit
  • Sicherungen
  • Analytics
  • Lastenausgleich
  • Steigerung der Datenbankleistung
  • Failover-Vermeidung
  • Datensicherheit

In diesem Tutorial zeigen wir Ihnen, wie Sie die MariaDB-Master-Slave-Replikation auf einem Ubuntu 18.04-Server einrichten.

Voraussetzungen

  • Zwei frische Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
  • Ein statisches Root-Passwort, das auf beiden Servern konfiguriert ist.

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y

Schritt 2 – MariaDB auf beiden Servern installieren

Zuerst müssen Sie MariaDB auf beiden Servern installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

apt-get install mariadb-server mariadb-client -y

Führen Sie nach der Installation von MariaDB den folgenden Befehl aus, um die MariaDB-Installation zu sichern:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Geben Sie das aktuelle Passwort für root ein (Eingabe für keins):Drücken Sie die Eingabetaste Root-Passwort setzen? [J/n] J Neues Passwort:Neues Passwort erneut eingeben:Anonyme Benutzer entfernen? [J/n] J Root-Anmeldung aus der Ferne verbieten? [J/n] J Testdatenbank und Zugriff darauf entfernen? [J/n] J Berechtigungstabellen jetzt neu laden? [J/n] J 

An diesem Punkt haben Sie beide MariaDB-Server installiert und gesichert.

Schritt 3 – Masterserver konfigurieren

Als Nächstes müssen Sie die binäre Protokollierung und Replikation auf dem Masterserver aktivieren. Öffnen Sie dazu die Datei /etc/mysql/mariadb.conf.d/50-server.cnf mit Ihrem bevorzugten Texteditor:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Suchen Sie die Zeile bind-address und ändern Sie den Wert auf 0.0.0.0, um eingehende Verbindungen zuzulassen.

Bindungsadresse            =0.0.0.0

Fügen Sie als Nächstes die folgenden Zeilen am Ende der Datei hinzu:

server-id =1log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log/mysql/mysql-relay-bin.index

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den MariaDB-Dienst neu, um die Änderungen zu implementieren:

systemctl startet mariadb neu

Als Nächstes müssen Sie einen Replikationsbenutzer erstellen. Der Slave-Server verwendet diesen Benutzer, um sich beim Master-Server anzumelden und binäre Protokolle anzufordern.

Melden Sie sich zuerst mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann einen Benutzer mit dem folgenden Befehl:

CREATE USER 'replication'@'%' identifiziert durch 'your-password';

Als nächstes erteilen Sie diesem Benutzer mit dem folgenden Befehl das Replikations-Slave-Privileg:

GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';

Löschen Sie als Nächstes die Berechtigungen mit dem folgenden Befehl:

FLUSH-RECHTE;

Überprüfen Sie als Nächstes den Status des Master-Servers mit dem folgenden Befehl:

Master-Status anzeigen;

Sie sollten die folgende Ausgabe erhalten:

+-------------+----------+--------------+- ------------------+| Datei             | Stelle | Binlog_Do_DB | Binlog_Ignore_DB |+-------------+----------+--------------+-- ----------------+| mysql-bin.000001 | 313 | | |+---------------------+----------+-------------+--- ---------------+

Als nächstes verlassen Sie die MariaDB-Shell mit dem folgenden Befehl:

BEENDEN;

Hinweis :Bitte merken Sie sich die Datei und Position Details aus der obigen Ausgabe. Sie benötigen diese Werte bei der Konfiguration des Slave-Servers.

Schritt 4 – Slave-Server konfigurieren

Melden Sie sich als nächstes beim Slave-Server an und öffnen Sie die Datei /etc/mysql/mariadb.conf.d/50-server.cnf:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Suchen Sie die Zeile bind-address und ändern Sie den Wert wie unten gezeigt auf 0.0.0.0:

Bindungsadresse            =0.0.0.0

Fügen Sie als Nächstes die folgenden Zeilen am Ende der Datei hinzu:

server-id =2log_bin =/var/log/mysql/mysql-bin.loglog_bin_index =/var/log/mysql/mysql-bin.log.indexrelay_log =/var/log/mysql/mysql-relay-binrelay_log_index =/var/log/mysql/mysql-relay-bin.index

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den MariaDB-Dienst neu, um die Änderungen zu implementieren:

systemctl startet mariadb neu

Melden Sie sich als Nächstes mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und stoppen Sie dann die Slave-Threads wie unten gezeigt:

Sklave stoppen;

Führen Sie als Nächstes den folgenden Befehl aus, um den Slave so einzurichten, dass er den Master repliziert:

CHANGE MASTER TO MASTER_HOST ='your-master-host-ip', MASTER_USER ='replication', MASTER_PASSWORD ='your-password', MASTER_LOG_FILE ='mysql-bin.000001', MASTER_LOG_POS =313;

Starten Sie als Nächstes die Slave-Threads und beenden Sie die MariaDB-Shell wie unten gezeigt:

sklave starten;beenden;

Hinweis :Ändern Sie den obigen Befehl, um Ihre Master-Host-IP-Adresse und Ihr Passwort zu verwenden, die Sie in den vorherigen Schritten erstellt haben. Bitte verwenden Sie den Protokolldateinamen und die Positionswerte, die Sie vom Masterserver erhalten haben.

Schritt 5 – Datenbankreplikation testen

An diesem Punkt haben Sie die Master-Slave-Replikation konfiguriert. Jetzt ist es an der Zeit, die Replikation zwischen Master und Slave zu testen.

Melden Sie sich auf dem Master-Server mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann eine Datenbank mit dem Namen mydb, wie unten gezeigt:

Datenbank mydb erstellen;

Erstellen Sie als Nächstes eine Tabelle mit dem Namen „products“ in der mydb-Datenbank:

use mydb;CREATE TABLE products(product_id INT NOT NULL AUTO_INCREMENT,product_name VARCHAR(100) NOT NULL,product_manufacturer VARCHAR(40) NOT NULL,submission_date DATE,PRIMARY KEY ( product_id ));

Führen Sie als Nächstes den folgenden Befehl aus, um die Tabelle zu überprüfen:

TABELLEN ANZEIGEN;

Ausgabe:

+----------------+| Tabellen_in_mydb |+----------------+| Produkte       |+----------------+

Melden Sie sich auf dem Slave-Server mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und überprüfen Sie dann den Slave-Status:

Slave-Status anzeigen \G

Sie sollten die folgende Ausgabe sehen:

*************************** 1. Reihe ***************** ********** relay-bin.000002                Relay_Log_Pos:945        Relay_Master_Log_File:mysql-bin.000001             Slave_IO_Running:Ja            Slave_SQL_Running:Ja

Führen Sie als Nächstes den folgenden Befehl aus, um zu überprüfen, ob die Datenbank repliziert wird:

Datenbanken anzeigen;

Sie sollten die mydb-Datenbank sehen, die Sie auf dem Master-Server erstellt haben:

+--------------------+| Datenbank           |+--------------------+| Informationsschema || mydb               || mysql              || Leistungsschema |+--------------------+

Überprüfen Sie als Nächstes die Produkttabelle, die Sie auf dem Masterserver erstellt haben:

MariaDB [(none)]> use mydb;MariaDB [mydb]> show tables;

Sie sollten die Produkttabelle in der folgenden Ausgabe sehen:

+----------------+| Tabellen_in_mydb |+----------------+| Produkte       |+----------------+

Herzliche Glückwünsche! Ihre MariaDB-Master-Slave-Replikation funktioniert wie erwartet. Sie können Ihre Datenbank jetzt im Falle eines Ausfalls einfach wiederherstellen. Beginnen Sie noch heute mit der MariaDB-Master-Slave-Replikation mit einem VPS-Hosting-Paket von Atlantic.Net.


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

  2. So richten Sie den Rsyslog-Server unter Ubuntu 18.04 LTS ein

  3. So richten Sie den MariaDB Galera-Cluster unter Ubuntu 20.04 ein

  4. Rsyslog-Server auf Ubuntu 20.04 einrichten - Wie geht das?

  5. So installieren Sie MariaDB unter Ubuntu 22.04

So richten Sie den Git-Server unter Ubuntu 20.04 ein

So richten Sie den Rsyslog-Server unter Ubuntu ein

So richten Sie einen DHCP-Server unter Ubuntu ein

So installieren Sie den BIND9 Master- und Slave-DNS-Server unter Ubuntu

Gewusst wie:Ersteinrichtung des Ubuntu 15.04-Servers

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