Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie konfiguriere ich die Master-Slave-Replikation der MySQL-Datenbank?

WBOY
Freigeben: 2023-07-13 22:05:43
Original
2692 Leute haben es durchsucht

Wie konfiguriere ich die Master-Slave-Replikation der MySQL-Datenbank?

Die Master-Slave-Replikation der MySQL-Datenbank ist eine gängige Datensicherungs- und Hochverfügbarkeitslösung. Durch die Konfiguration der Master-Slave-Replikation können Sie Daten von einem MySQL-Server (Master-Server) auf einen anderen (Slave-Server) synchronisieren und so die Verfügbarkeit und Leistung der Datenbank verbessern.

Im Folgenden wird die Konfiguration der Master-Slave-Replikation in einer MySQL-Datenbank vorgestellt und entsprechende Codebeispiele bereitgestellt.

  1. Stellen Sie sicher, dass der MySQL-Server installiert und gestartet ist

Stellen Sie zunächst sicher, dass der MySQL-Server in Ihrem System installiert und der MySQL-Dienst gestartet wurde.

  1. Konfigurieren Sie den Hauptserver

Konfigurieren Sie Folgendes auf dem Hauptserver:

2.1 Ändern Sie die Konfigurationsdatei des Hauptservers

Suchen Sie die Konfigurationsdatei des Hauptservers (normalerweise unter /etc/mysql/my. cnf oder /etc/my .cnf) und fügen Sie die folgende Konfiguration hinzu:

[mysqld]
server-id=1
log_bin=mysql-bin
binlog_do_db=your_database_name
Nach dem Login kopieren

Unter anderem wird Server-ID verwendet, um die eindeutige ID des Servers zu identifizieren, die bei der Master-Slave-Replikation eindeutig sein muss. log_bin gibt den Dateinamen des Binärprotokolls an, und binlog_do_db gibt den Namen der Datenbank an, die synchronisiert werden muss (mehrere können festgelegt werden, durch Kommas getrennt).

2.2 Starten Sie den Hauptserver neu.

Nach dem Speichern und Schließen der Konfigurationsdatei starten Sie den Hauptserver neu, damit die Konfiguration wirksam wird.

$ sudo service mysql restart
Nach dem Login kopieren
Nach dem Login kopieren
  1. Konfigurieren Sie den Slave-Server

Konfigurieren Sie Folgendes auf dem Slave-Server:

3.1 Ändern Sie die Konfigurationsdatei des Slave-Servers

Suchen Sie die Konfigurationsdatei des Slave-Servers (normalerweise unter /etc/mysql/my .cnf oder /etc/my.cnf) und fügen Sie die folgende Konfiguration hinzu:

[mysqld]
server-id=2
relay-log=mysql-relay-bin
log_slave_updates=1
read_only=1
Nach dem Login kopieren

wobei server-id auch verwendet wird, um die eindeutige ID des Servers zu identifizieren. „relay-log“ gibt den Namen der Relay-Protokolldatei des Slave-Servers an. Log_slave_updates ist auf 1 gesetzt, um anzuzeigen, dass der Slave-Server auch binäre Protokolle aufzeichnet. Read_only ist auf 1 gesetzt, um anzuzeigen, dass der Slave-Server schreibgeschützt ist.

3.2 Starten Sie den Slave-Server neu.

Nach dem Speichern und Schließen der Konfigurationsdatei starten Sie den Slave-Server neu, damit die Konfiguration wirksam wird.

$ sudo service mysql restart
Nach dem Login kopieren
Nach dem Login kopieren
  1. Stellen Sie eine Verbindung zum Master-Server her und erstellen Sie einen Replikationsbenutzer.

Stellen Sie zunächst über den MySQL-Client eine Verbindung zum Master-Server her und erstellen Sie einen Benutzer für die Replikation:

$ mysql -u root -p
mysql> CREATE USER 'replication'@'%' IDENTIFIED BY 'your_password';
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replication'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SHOW MASTER STATUS;
Nach dem Login kopieren

Wobei „Replikation“ der Benutzername des Replikationsbenutzers ist „Ihr_Passwort“ ist das Passwort des kopierten Benutzers. Bitte ändern Sie es entsprechend der tatsächlichen Situation.

Führen Sie abschließend den Befehl SHOW MASTER STATUS aus und zeichnen Sie die Werte von Datei und Position auf, die später auf dem Slave-Server verwendet werden.

  1. Stellen Sie eine Verbindung zum Slave-Server her und konfigurieren Sie die Master-Slave-Replikation.

Verwenden Sie den MySQL-Client, um eine Verbindung zum Slave-Server herzustellen und die Master-Slave-Replikation zu konfigurieren:

$ mysql -u root -p
mysql> CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS G;
Nach dem Login kopieren

Wobei „master_host“ die IP-Adresse oder der Hostname von ist Der Master-Server, „replication“ ist der Benutzername des replizierten Benutzers, „your_password“ ist das Passwort des replizierten Benutzers, „master_log_file“ und „master_log_pos“ sind die vom Master-Server erhaltenen Datei- und Positionswerte.

Führen Sie abschließend den Befehl SHOW SLAVE STATUS G aus und prüfen Sie, ob die Werte von Slave_IO_Running und Slave_SQL_Running „Ja“ sind, um sicherzustellen, dass die Master-Slave-Replikation erfolgreich konfiguriert wurde.

Nach Abschluss der Konfiguration werden die Daten auf dem Master-Server mit dem Slave-Server synchronisiert, wodurch eine Master-Slave-Replikation realisiert wird.

Zusammenfassung

Dieser Artikel stellt vor, wie man die Master-Slave-Replikation in einer MySQL-Datenbank konfiguriert, und stellt entsprechende Codebeispiele bereit. Durch Master-Slave-Replikation können Datensicherung und Hochverfügbarkeit erreicht und die Verfügbarkeit und Leistung der Datenbank verbessert werden. Der Konfigurationsprozess ist relativ einfach, aber in tatsächlichen Anwendungen müssen Sie dennoch auf Probleme wie Konfigurationskonsistenz und Fehlerbehandlung achten, um die Stabilität und Zuverlässigkeit der Master-Slave-Replikation sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich die Master-Slave-Replikation der MySQL-Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage