Heim >Datenbank >MySQL-Tutorial >Wie konfiguriere ich die Master-Slave-Replikation der MySQL-Datenbank?
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.
Stellen Sie zunächst sicher, dass der MySQL-Server in Ihrem System installiert und der MySQL-Dienst gestartet wurde.
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
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
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
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
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;
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.
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;
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!