Labor -Setup
Masterknoten - 192.168.43.13
Sklavenknoten - 192.168.43.252
Schritt 1: Installieren Sie Mariadb sowohl auf Master- als auch auf Sklavenservern
Zunächst müssen Sie Mariadb sowohl auf dem Master als auch auf dem Sklaven installieren. Befolgen Sie also die folgenden Schritte:
Melden Sie sich zunächst beim Master -Server an und aktualisieren Sie die Systempakete wie gezeigt:
$ sudo dnf update
Nachdem Sie Ihr System erfolgreich aktualisiert haben, fahren Sie nun fort und installieren Sie Mariadb
$ sudo dnf install mariadb-server
Sobald die Installation erfolgreich ist, können Sie überprüfen, ob Mariadb durch Ausführen des Befehls installiert ist:
$ rpm -qa | Grep Mariadb
Um detailliertere Informationen zu erhalten, führen Sie den Befehl aus:
$ rpm -qi mariadb -server
Beginnen Sie nun den Mariadb -Service
$ sudo systemctl starten mariadb
Darüber hinaus können Sie den Dienst ermöglichen, automatisch mit einer Start-/Neustartsitzung zu starten.
$ sudo systemctl aktivieren mariadb
Um zu überprüfen, ob die MariADB -Datenbank -Engine in Betrieb ist, geben Sie den Befehl aus:
$ sudo systemctl status mariadb
Perfekt! Mariadb ist in Betrieb, wie wir erwartet hatten.
Mariadb ist nicht gesichert und jeder Benutzer kann sich bei der Datenbank -Engine anmelden und Zugriff auf alle Datenbanken haben und Änderungen vornehmen. Natürlich wollen wir nicht, dass das passiert und die Sicherung der Datenbank eine oberste Priorität haben sollte. Wir müssen daher die Datenbankmotor sichern, indem wir ein Stammkennwort festlegen. Führen Sie also den Befehl unten aus:
$ sudo mysql_secure_installation
Was folgt, ist eine interaktive Eingabeaufforderung, mit der das Stammkennwort für die Datenbank festgelegt und einige Fragen beantwortet werden müssen.
Standardmäßig wird Mariadb auf Port 3306 ausgeführt. Wenn Sie eine Firewall ausführen, müssen Sie diesen Port so zulassen, dass die Datenbank -Engine für externe Benutzer und Dienste zugänglich sein kann.
Um den Port auf der Firewall zu öffnen, führen Sie die folgende Firewall -Regel aus:
$ sudo firewalld-cmd --add-port = 3306/tcp --zone = public --permanent
Damit die Regel angewendet werden kann, laden Sie die Firewall neu:
$ sudo firewalld-cmd-Relad
Wiederholen Sie auf dem Slave -Server die gleichen Schritte auf dem Slave -Server, wobei Mariadb erfolgreich installiert und gesichert ist.
Schritt 2: Konfigurieren Sie MariADB auf dem Master -Server
Wir müssen Mariadb -Daemon so konfigurieren, dass unser beabsichtigter Master -Server als Server im Setup fungiert. Öffnen Sie also die Konfigurationsdatei /etc/mein.CNF
$ sudo vim /etc /mein.CNF
Gehen Sie die folgende Konfiguration an
[Mysqld]Speichern und beenden Sie die Konfigurationsdatei. Um die Änderungen zu bewirken, starten Sie den Mariadb -Service neu.
$ sudo systemctl starten Sie Mariadb-Server neu
Schritt 3: Konfigurieren Sie den Slave -Server
Genau wie der Master -Server muss der Slave konfiguriert werden, um sich wie einer zu verhalten. Öffnen Sie also die Konfigurationsdatei wie zuvor:
$ sudo vim /etc /mein.CNF
Gehen Sie die folgende Konfiguration an
[Mysqld]Seien Sie daran interessiert, eine andere zu liefern. 'server_id'vom Master Server, der in diesem Fall 2 ist. Und genau wie der Master -Server die 'bind_address'Parameter sollte auf die IP -Adresse des Slave verweisen.
Speichern und beenden Sie die Datei.
Schritt 3: Erstellen Sie einen Replikationsbenutzer auf dem Master -Server
Um den Slave zur Replikation zu konfigurieren, müssen wir zum Masterknoten zurückkehren und einen Replikationsbenutzer erstellen. Melden Sie sich bei der MariADB -Datenbankmotor an.
$ mysql -u root -pStoppen Sie zuerst den Sklavenbenutzer.
Mariadb [(keine)]> Stop Sklave;Das Erstellen eines Replikationsbenutzers mit den angezeigten Befehlen:
Mariadb [(keine)]> Replikation Sklave auf *.* Zu 'replica_user' @'192.168.43.252 '
Identifiziert durch 'P@Ssword123';
Abfrage OK, 0 Zeilen betroffen (0.06 Sek.)
Mariadb [(keine)]> Flush -Privilegien;
Abfrage OK, 0 Zeilen betroffen (0.04 Sek.)
Mariadb [(keine)]> Flush -Tabellen mit Leseschloss;
Abfrage OK, 0 Zeilen betroffen (0.02 Sek.)
Mariadb [(keine)]> exit;
Abfrage OK, 0 Zeilen betroffen (0.02 Sek.)
Überprüfen Sie anschließend den Status des Meisters, indem Sie Laufen haben:
Mariadb [(keine)]> Master Status \ g anzeigenBeachten Sie sorgfältig die Werte des Dateinamens und der Position. Diese werden später verwendet, um den Slave zur Replikation zu konfigurieren.
Aus der obigen Ausgabe bedeutet dies:
Datei: Mysql-bin.000001
Position: 1317
Beenden Sie die Mariadb -Engine und erstellen Sie eine Sicherungskopie des Master -Servers wie gezeigt:
$ sudo mysqldump -alle databases -U root -p> masterdatabase.sql
Melden Sie sich bei Mariadb zurück und entsperren Sie die Tabellen:
Mariadb [(keine)]> entsperren Tabellen;Denken Sie an die Sicherungskopie, die wir für die Master -Datenbank erstellt haben? Wir sind bereit, es auf den Sklavenserver zu kopieren. Führen Sie also den Befehl unten aus:
$ scp Masterdatabase.SQL [email protected]:/root/
Schritt 4: Konfigurieren Sie den Slave zur Replikation
Importieren Sie die Sicherungsdatei, die wir vom Master in den Mariadb -Motor kopiert haben.
$ mysql -u root -p < masterdatabase.sqlUnd dann den Mariadb -Service neu starten
$ systemctl starten Sie Mariadb neu
Melden Sie sich nun bei der MariADB -Datenbank -Engine an und konfigurieren Sie den Sklaven wie folgt:
Mariadb [(keine)]> Stop Sklave; Mariadb [(keine)]> Master in Master_host = '192 ändern.168.43.13 ', master_user =' replica_user ',Denken Sie an die Werte, von denen wir sagten, dass Sie sich erinnern sollten und möglicherweise aufschreiben, wenn Sie den Status des Master -Servers anzeigen? Diese wurden schließlich in der definiert Master_log_file Und Master_log_pos Attribute wie gesehen.
Starten Sie schließlich den Sklaven, um den Sklaven zu initialisieren, um sich vom Meister zu replizieren:
Mariadb [(keine)]> Sklave starten;Überprüfen Sie dann den Status des Sklaven
Mariadb [(keine)]> Sklavenstatus zeigen;Wenn die Konfiguration perfekt durchgeführt wurde, sollten Sie die Ausgabe nicht frei von Fehlern erhalten.
Der Sklave ist jetzt zur Replikation bereit.
Schritt 5: Testen der Datenbankreplikation
Letztendlich müssen wir bestätigen, ob unser Setup funktioniert. Melden Sie sich also in der Mariadb -Instanz im Master an und erstellen Sie eine Testdatenbank wie gezeigt
Mariadb [(keine)]> Datenbank erstellen replica_db;Bestätigen Sie dann die Erstellung der Datenbank
Mariadb [(keine)]> Datenbanken anzeigen;Gehen Sie zurück zum Sklavenknoten und überprüfen Sie, ob die Datenbank vorliegt.
Perfekt! Unser Setup funktioniert! Alle im Master erstellten nachfolgenden Datenbanken werden automatisch repliziert und ändert sich auf dem Slaveknoten synchronisiert. Und das bringt uns zum Ende dieses Leitfadens.