So richten Sie MySQL Master-Slave-Replikation auf Ubuntu 18 ein.04

So richten Sie MySQL Master-Slave-Replikation auf Ubuntu 18 ein.04

Mysql Die Master-Slave-Replikation ist eine Prozedur, mit der Datenbankdateien repliziert oder über einen oder mehrere Knoten in einem Netzwerk kopiert werden können. Dieses Setup liefert Redundanz und Fehlertoleranz, so dass bei einem Ausfall in der Meisterknoten, Die Datenbanken können weiterhin in der wiederhergestellt werden Sklavenknoten. Dies gibt den Benutzern die Sicherheit, dass nicht alles in irgendeiner Eventualität verloren geht, da eine Nachbildung der Datenbanken weiterhin von einem anderen Server abgerufen werden kann.

In diesem Leitfaden lernen Sie, wie man eine ausführt Mysql Datenbank Master-Sklave Replikation auf einem Ubuntu 18.04 System.

Voraussetzungen

Im Setup werden zwei Server laufen lassen Ubuntu 18.04 mit den folgenden IP -Adressen.

Master Server: 10.128.0.28 Sklavenserver: 10.128.0.29 

Lassen Sie uns nun eintauchen und sehen, wie wir die konfigurieren können Master-Sklave Replikationseinrichtung auf Ubuntu.

Schritt 1: Installieren Sie MySQL auf Master- und Sklavenknoten

Ubuntu Repositories enthalten Version 5.7 von Mysql. Um neue Funktionen zu nutzen und potenzielle Probleme zu vermeiden, sollten Sie die neueste MySQL -Version installieren. Aber zuerst aktualisieren wir die beiden Knoten mit dem folgenden APT -Befehl.

$ sudo APT Update 
Aktualisieren Sie die Ubuntu -Software

Installieren Mysql Führen Sie auf beiden Knoten den Befehl aus.

$ sudo apt installieren Sie MySQL-Server MySQL-Client 
Installieren Sie den MySQL -Server in Ubuntu

Als nächstes öffnen Sie die Mysql Konfigurationsdatei.

$ sudo vim/etc/mysql/mysql.Conf.D/Mysqld.CNF 

Auf der Meisterknoten, scrollen und die finden Bindungsadresse Attribut wie unten gezeigt.

Bind-Address = 127.0.0.1 

Ändern Sie die Loopback -Adresse, um der IP -Adresse der IP -Adresse zu entsprechen Meisterknoten.

Bind-Address = 10.128.0.28 
Setzen Sie die MySQL Master IP -Adresse

Geben Sie als nächstes einen Wert für die an Server-ID Attribut in der [Mysqld] Abschnitt. Die Nummer, die Sie auswählen, sollte nicht mit einer anderen Server-ID-Nummer übereinstimmen. Lassen Sie uns den Wert zuweisen 1.

server-id = 1 
Stellen Sie die MySQL -Server -ID auf Master fest

Kopieren und fügen Sie die folgenden Zeilen kopieren und einfügen.

log_bin =/var/log/mysql/mysql-bin-bin-bin.log log_bin_index =/var/log/mysql/mysql-bin-bin-bin.Protokoll.Index Relay_log =/var/log/mysql/mysql-relay-bin Relay_log_index =/var/log/mysql/mysql-relay-bin.Index 

Beenden Sie die Konfigurationsdatei und starten Sie den MySQL -Dienst neu, damit die Änderungen auf den Masterknoten wirksam werden können.

$ sudo systemctl starten Sie MySQL neu starten 

Um zu überprüfen, ob MySQL Server wie erwartet ausgeführt wird, geben Sie den Befehl aus.

$ sudo systemctl Status MySQL 
Starten Sie neu und überprüfen Sie den Status des MySQL

Perfekt! MySQL Server wird wie erwartet ausgeführt!

Schritt 2: Erstellen Sie einen neuen Benutzer zur Replikation auf dem Masterknoten

In diesem Abschnitt erstellen wir einen Replikationsbenutzer in der Meisterknoten. Um dies zu erreichen, melden Sie sich wie gezeigt beim MySQL -Server an.

$ sudo mysql -u root -p 

Gehen Sie anschließend fort und führen Sie die folgenden Abfragen aus, um einen Replik -Benutzer zu erstellen und Zugriff auf den Replikationsslave zu gewähren. Denken Sie daran, Ihre IP -Adresse zu verwenden.

MySQL> Benutzer "replication_user"@'erstellen10.128.0.29'Identifiziert von' replica_password '; MySQL> Replikationssklave auf * gewähren.* Zu 'replication_user'@''10.128.0.29'; 
Erstellen Sie MySQL Replication -Benutzer

Führen Sie als nächstes den folgenden Befehl aus.

MySQL> Master Status \ g anzeigen 

Die Ausgabe sollte ähnlich sein wie das, was Sie unten sehen können.

Überprüfen Sie den Status des MySQL Master

Seien Sie scharf und beachten Sie die Mysql-bin.000002 Wert und die Positions -ID 1643. Diese Werte sind bei der Einrichtung der entscheidenden Sklavenserver.

Schritt 3: Konfigurieren Sie den MySQL -Slave -Server

Gehen Sie zum Sklavenserver und wie wir es mit dem getan haben Master Server, Öffnen Sie die MySQL -Konfigurationsdatei.

$ sudo vim/etc/mysql/mysql.Conf.D/Mysqld.CNF 

Genau wie das Master Server, Fahren Sie fort, um die folgenden Zeilen zu bearbeiten.

Bind-Address = 10.128.0.29 
Binden Sie die MySQL IP -Adresse auf Slave

Geben Sie nach wie vor einen Wert für die an Server-ID Attribut in der [Mysqld] Abschnitt. Diesmal wählen Sie einen anderen Wert aus. Lass uns mit gehen mit 2.

server-id = 2 
Stellen Sie die MySQL -Server -ID auf Slave fest

Fügen Sie erneut die folgenden Zeilen am Ende der Konfigurationsdatei ein.

log_bin =/var/log/mysql/mysql-bin-bin-bin.log log_bin_index =/var/log/mysql/mysql-bin-bin-bin.Protokoll.Index Relay_log =/var/log/mysql/mysql-relay-bin Relay_log_index =/var/log/mysql/mysql-relay-bin.Index 

Starten Sie als nächstes den MySQL -Server auf dem Sklavenknoten neu.

$ sudo systemctl starten Sie MySQL neu starten 

Sobeln Sie den Texteditor und beenden Sie nach Abschluss und beenden Sie

Melden Sie sich als nächstes wie gezeigt bei der MySQL -Shell an.

$ sudo mysql -u root -p 

In diesem Schritt müssen Sie eine Konfiguration erstellen, die das zulässt Sklavenserver sich mit dem verbinden Master Server. Aber zuerst stoppen Sie die Sklavenfäden wie gezeigt.

MySQL> Sklave aufhalten; 

Um das zuzulassen Sklavenserver um die zu replizieren Master Server, Führen Sie den Befehl aus.

MySQL> Ändern Sie den Master in master_host = '10.128.0.28 ', master_user =' replication_user ', master_password =' ​​[E-Mail Protected] ', master_log_file =' MySQL-bin-bin-bin-bins.000002 ', master_log_pos = 1643; 
Erlauben Sie MySQL Replication auf Slave Server

Wenn Sie scharf genug sind, werden Sie feststellen, dass wir die benutzt haben Mysql-bin.00002 Wert- und Positions -ID 1643 früher angezeigt nach dem Erstellen des Slave Replication -Benutzer.

Darüber hinaus wurden die IP -Adresse, die Replikationskasse und das Kennwort des Master -Servers verwendet.

Später starten Sie den Thread, den Sie zuvor angehalten hatten.

MySQL> Sklave starten; 

Schritt 4: Überprüfen Sie die MySQL-Master-Sklaven-Replikation

Um zu überprüfen, ob das Setup tatsächlich wie erwartet funktioniert.

Melden Sie sich in mysql in der an Master Server.

$ sudo mysql -u root -p 

Erstellen wir eine Testdatenbank. In diesem Fall erstellen wir eine Datenbank mit dem Namen replication_db.

MySQL> Datenbank Replication_DB erstellen; 

Melden Sie sich nun in Ihrer MySQL -Instanz in der an Sklavenserver.

$ sudo mysql -u root -p 

Listen Sie nun die Datenbanken mit der Abfrage auf.

MySQL> Datenbanken anzeigen; 
Überprüfen Sie die Replikation der MySQL-Master-Sklave

Sie werden die Datenbank bemerken, die Sie auf dem erstellt haben Meister wurde repliziert Sklave. Eindrucksvoll ! Ihre MySQL-Master-Slave-Replikation funktioniert wie erwartet! Sie können nun sicher sein, dass im Falle eines Fehlers Kopien von Datenbankdateien auf den Slave -Server repliziert werden.

Abschluss

In diesem Leitfaden haben Sie gelernt, wie man a einrichtet Mysql Master-Slave Replikationseinrichtung auf Ubuntu 18.04.