Konfigurationsprozess für die MySQL-Master-Slave-Replikation

Konfigurationsprozess für die MySQL-Master-Slave-Replikation

Konfiguration der Hauptbibliothek

1. Konfigurieren Sie MySQL

vim /etc/meine.cn
# Fügen Sie der Datei server-id=1 den folgenden Inhalt hinzu. # Stellen Sie sicher, dass die Server-ID eindeutig ist log-bin = /var/lib/mysql/mysql-bin.log
binlog-do-db = db1 
binlog-do-db = db2

Unter ihnen sind db1 und db2 die für die Master-Slave-Replikation vorgesehenen Bibliotheken. Wenn es mehrere gibt, schreiben Sie einfach mehrere Zeilen. Starten Sie die Datenbank nach der Konfiguration neu: service mysqld restart restart

2. Replikationsbenutzer hinzufügen

Fügen Sie über phpmyadmin einen neuen Benutzer hinzu und erteilen Sie ihm die Berechtigung REPLICATION SLAVE. Oder melden Sie sich als Root-Benutzer bei MySQL an und erteilen Sie die folgenden Berechtigungen:

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIZIERT DURCH 'Passwort'

Dabei ist „repl“ der Benutzername und „password“ das Passwort dieses Benutzers.

3. Daten sichern

Wenn sichergestellt ist, dass keine neuen Daten generiert werden, ist eine Sperrung der Datenbank nicht erforderlich. Wenn dies nicht gewährleistet werden kann, müssen Sie die Datenbank für jede Dump-Datei sperren:

verwende db1;
FLUSH-TABELLEN MIT LESE-SPERRE;

Dann sichern Sie die Daten:

mysqldump -uroot -p db1 > db1.sql

Wenn mehrere Datenbanken vorhanden sind, wiederholen Sie den obigen Vorgang mehrmals.

4. Überprüfen Sie den Speicherort der Binärdatei

Melden Sie sich als Root bei MySQL an und überprüfen Sie den Master-Status:

Masterstatus anzeigen;

Dieser Befehl erzeugt eine Ausgabe in etwa folgendem Format:

+-----------------+--------------------------+----------------+------------------+
| Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------+--------------------------+----------------+------------------+
| mysql-bin.00002 | 445 | db1,db2 | |
+-----------------+--------------------------+----------------+------------------+
1 Zeile im Satz (0,00 Sek.)

5. Entsperren

Wenn die Anzahl der Exporte am höchsten ist und die Datenbank lesegesperrt ist, müssen Sie diese freigeben:

verwende db1;
TABELLEN ENTSPERREN;

An diesem Punkt ist die Hauptdatenbankkonfiguration abgeschlossen. Merken Sie sich insbesondere die Datei- und Positionswerte in show master status Ausgabe.

Konfiguration aus der Bibliothek

1. Erstellen Sie eine neue Datenbank

Erstellen Sie zunächst eine Datenbank mit demselben Namen in der Slave-Bibliothek.

2. Konfigurieren Sie die Slave-Datenbank

vim /etc/meine.cnf
# Fügen Sie my.cnf den folgenden Inhalt hinzu:
server-id = 2 # Stellen Sie sicher, dass die ID eindeutig ist relay-log = /var/lib/mysql/mysql-relay-bin.log
replizieren-wild-do-table = db1.%
replizieren-wild-do-table = db2.%

Wenn Sie mehrere Datenbanken synchronisieren, muss replicate-wild-do-table mehrere Zeilen schreiben. Starten Sie die Datenbank nach der Konfiguration neu.

3. Daten importieren

Importieren Sie die vom Master-Server gesicherten Daten in den Slave-Server:

mysql -uroot -p db1 < db1.sql

4. Konfigurieren Sie die Master-Slave-Synchronisierung

Melden Sie sich beim MySQL-Server an und konfigurieren Sie die synchronisierten Masterserverinformationen:

> ändere Master in master_host='xxx.xxx.xx.xx',
> master_user='repl',
> master_password='Passwort',
> master_log_file='mysql-bin.00000x',
> master_log_pos=xxxx;

Nach der Konfiguration starten Sie die Master-Slave-Synchronisierung: start slave . Überprüfen Sie dann den Status mit dem Befehl: show slave status . Bei Erfolg sollten sowohl slave_io_running als auch slave_sql_running „yes“ lauten.

prüfen

Vorgänge wie das Hinzufügen neuer Datensätze oder Tabellen zur Masterdatenbank können nahezu in Echtzeit in der Slavedatenbank wiedergegeben werden.

Oben sind die Details des Konfigurationsprozesses der MySQL-Master-Slave-Replikation aufgeführt. Weitere Informationen zur Konfiguration der MySQL-Master-Slave-Replikation finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So beheben Sie Probleme mit doppelten Schlüsseln bei der MySQL-Master-Slave-Replikation
  • Umfassende Analyse des MySql-Master-Slave-Replikationsmechanismus
  • Detaillierte Erläuterung der MySQL Master-Slave-Replikation und der Lese-/Schreibtrennung
  • MySQL-Datenbank GTID realisiert Master-Slave-Replikation (super praktisch)
  • Implementierungsprinzip und Konfiguration der MySql Master-Slave-Replikation
  • MySQL Master-Slave-Replikationsprinzip und zu beachtende Punkte
  • So überspringen Sie Fehler bei der MySQL-Master-Slave-Replikation
  • Umfassende Interpretation der MySQL Master-Slave-Replikation, vom Prinzip bis zur Installation und Konfiguration
  • Zusammenfassung verschiedener Replikationsmethoden für die MySQL Master-Slave-Replikation
  • Gängige Reparaturmethoden für die Trennung der MySQL Master-Slave-Replikation

<<:  So verwenden Sie Filter zur Implementierung der Überwachung in Zabbix

>>:  Beispielcode einer in Vue3 gekapselten Lupenkomponente

Artikel empfehlen

SQL-Fuzzy-Abfragebericht: ORA-00909: Lösung: Ungültige Anzahl von Parametern

Bei Verwendung einer Oracle-Datenbank für Fuzzy-A...

Das Submit-Ereignis des Formulars reagiert nicht

1. Problembeschreibung <br />Wenn JS verwen...

CSS zum Erzielen von leuchtendem Text und ein paar JS-Spezialeffekten

Umsetzungsideen: Verwenden Sie text-shadow in CSS...

Detaillierte Erklärung der Fallstricke von MySQL 8.0

Ich habe heute MySQL 8.0 aktualisiert. Das erste ...

Ausführliche Erläuterung der Mysql-Deadlock-Anzeige und Deadlock-Entfernung

Vorwort Vor einiger Zeit ist bei mir ein MySQL-De...

MySQL-Inspektionsskript (unbedingt lesen)

Wie unten dargestellt: #!/usr/bin/env python3.5 p...

Vergleich der von der MySQL-Datenbank unterstützten Speicher-Engines

Inhaltsverzeichnis Speicher-Engine Von MySQL unte...

Zusammenfassung der praktischen Erfahrungen zu HTML-Wissenspunkten

1. Das Tabellen-Tag ist Tabelle, tr ist Zeile, td ...

Detaillierte Erklärung des Flex-Layouts in CSS

Flex-Layout wird auch elastisches Layout genannt....