1. Master-Slave-Replikation und Lese-Schreib-Trennung
1.1 Master-Slave-Replikation (Datenebene)
#🎜 🎜#Master-Replikation ist die Voraussetzung für die Trennung von Lesen und Schreiben. Die von der MySQL-Datenbank bereitgestellte Master-Slave-Replikationsfunktion kann problemlos eine automatische Datensicherung auf mehreren Servern realisieren, die Erweiterung der Datenbank realisieren und die Datensicherheit erheblich verbessern. Nach der Implementierung der Master-Slave-Replikation kann die Lese-/Schreibtrennung die Ladeleistung der Datenbank weiter verbessern.
Wie in der Abbildung dargestellt, ist der allgemeine Implementierungsprozess der Master-Slave-Replikation.
1.2 Lese- und Schreibtrennung (Geschäftsebene)
Um eine Lese- und Schreibtrennung zu erreichen, ist der Master-Slave des Die Datenbank muss zunächst kopiert werden. Das Verständnis der Lese-Schreib-Trennung besteht darin, dass Abfragevorgänge in der Unterdatenbank ausgeführt werden, während Schreibvorgänge in der Hauptdatenbank ausgeführt werden. Die Daten werden durch Master-Slave-Replikation in Unterdatenbanken gesichert, um die Datenkonsistenz sicherzustellen. Dies erfolgt, nachdem die Daten in die Hauptdatenbank geschrieben wurden.
2. Implementierung
Lassen Sie uns zunächst das Prinzip der Master-Slave-Replikation verstehen:
#🎜🎜 #
Wenn sich die Daten in der Hauptdatenbank ändern, wird zunächst der Änderungsdatensatz in das Binlog-Protokoll geschrieben. Die Slave-Datenbank erkennt innerhalb eines bestimmten Zeitraums das Binlog-Protokoll in der Master-Datenbank. Wenn Änderungen auftreten, fordern Sie die Informationen zur Master-Protokolldatei an. Nachdem wir das Prinzip verstanden haben, müssen wir die Voraussetzungen für die Aktivierung der Master-Slave-Replikation kennen:
#🎜🎜 #Anforderungen an den Master-Knoten Schalten Sie das Binlog-Protokoll ein (MySQL aktiviert das Binlog standardmäßig nicht)
-
Slave-Knoten, geben Sie eine Binlog-Datei und den synchronisierten Offset an#🎜 🎜#
#🎜🎜 #Geben Sie die IP des Masterknotens an
Bearbeiten Sie die my.cnf-Datei von MySQL: (Verschiedene Installationsmethoden können unterschiedliche Dateispeicherorte haben, spezifische Analyse spezifischer Probleme ~) #🎜🎜 #
vim /etc/my.cnf
Die Originaldatei hat nicht den folgenden Inhalt, wir müssen ihn selbst hinzufügen. Meine Seite besteht darin, eine Master-Slave-Replikation von Daten in der Myslave-Datenbank durchzuführen
server-id = 1 #server-id 服务器唯一标识log_bin = master-bin
#log_bin 启动MySQL二进制日志log_bin_index = master-bin.index
binlog_do_db = myslave #binlog_do_db 指定记录二进制日志的数据库 这两个指定可以不添加binlog_ignore_db = mysql
#binlog_ignore_db 指定不记录二进制日志的数据库
Verwenden Sie den folgenden Befehl, um MySQL neu zu starten. Verschiedene Linux-Versionen können unterschiedliche Befehle haben.
service mysql restart
Nach erfolgreichem Start können wir den Öffnungsstatus des Bin-Logs anhand der folgenden Anweisung sehen: (Fragen Sie ihn einfach direkt in Navicat ab)
show variables like 'log_bin%';
# 🎜 2.2 Fernzugriff# Folgender Befehl: Der Status des Knotens wird wie in der folgenden Abbildung dargestellt ermittelt.
#允许远程用户访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.221.131' IDENTIFIED BY '123456' WITH GRANT OPTION;
#刷新
FLUSH PRIVILEGES;
Zugehörige Konfigurationen ändern
show master status;
#🎜 🎜#Hinzufügen Zugehörige Informationen:
vim /etc/my.cnf
Denken Sie daran, den Dienst neu zu starten;
server-id = 2 #唯一标识relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
replicate-do-db=myslave #备份数据库 对应master中设置的,可以不设置replicate-ignore-db=mysql #忽略数据库
master_log_pos ist die im ersten Schritt erhaltene Synchronisationsposition; # Slave-Synchronisierung starten
change master to master_host='192.168.221.128',master_user='root',master_password='123456',master_log_file='binlog.000009',master_log_pos=2339;
-
Überprüfen Sie den Synchronisierungsstatus und erhalten Sie den in der Abbildung unten gezeigten Status, was bedeutet, dass die Master-Slave-Synchronisierung erfolgreich hergestellt wurde. Tabellentests können in der Hauptdatenbank erstellt werden.
start slave;
Das obige ist der detaillierte Inhalt vonSo erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!