So verwenden Sie die Master-Slave-Replikation von MySQL, um eine Lese-/Schreib-Trennarchitektur zu implementieren
In herkömmlichen Webanwendungen sind Lese- und Schreibvorgänge normalerweise mit demselben Datenbankserver verbunden. Wenn sich Anwendungen entwickeln und das Zugriffsvolumen zunimmt, kann diese Architektur leicht zu Engpässen bei der Datenbankleistung führen. Um dieses Problem zu lösen, kann die Master-Slave-Replikation von MySQL verwendet werden, um eine Lese-/Schreib-Trennarchitektur zu implementieren. In diesem Artikel wird erläutert, wie Sie mithilfe der Master-Slave-Replikation von MySQL eine Lese-/Schreibtrennung erreichen, und entsprechende Codebeispiele bereitstellen.
(1) Öffnen Sie die Konfigurationsdatei my.cnf der Hauptdatenbank und fügen Sie am Ende die folgende Konfiguration hinzu:
# 设置为主数据库 server-id=1 log-bin=mysql-bin
(2) Starten Sie die Hauptdatenbank neu Datenbank:
$ sudo service mysql restart
(1) Öffnen Sie die Konfigurationsdatei my.cnf der Slave-Datenbank und fügen Sie am Ende die folgende Konfiguration hinzu:
# 设置为从数据库 server-id=2 relay-log=mysql-relay-bin
(2 ) Starten Sie die Slave-Datenbank neu:
$ sudo service mysql restart
Replikationsbenutzer erstellen
Erstellen Sie einen Benutzer für die Replikation in der Hauptdatenbank und erteilen Sie entsprechende Berechtigungen. Führen Sie den folgenden Befehl aus:
mysql> CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; mysql> FLUSH PRIVILEGES;
Master-Slave-Replikation starten
Führen Sie den folgenden Befehl auf der Slave-Datenbank aus, um die Master-Slave-Replikation zu starten:
mysql> CHANGE MASTER TO MASTER_HOST='主数据库IP', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0; mysql> START SLAVE;
Master-Slave-Replikation überprüfen
Führen Sie den folgenden Befehl auf der Slave-Datenbank aus um den Status der Master-Slave-Replikation anzuzeigen:
mysql> SHOW SLAVE STATUS G
Stellen Sie sicher, dass die folgenden beiden Parameter den Wert „JA“ haben:
Slave_IO_Running: Yes Slave_SQL_Running: Yes
Wenn ein Fehler auftritt, müssen Sie überprüfen, ob die Replikationskonfiguration und die Datenbankverbindung korrekt eingerichtet sind.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Master-Slave-Replikation von MySQL, um eine Architektur mit Lese-/Schreibtrennung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!