Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL und stellt hauptsächlich verwandte Themen zum schnellen Aufbau einer Master-Slave-Replikationsarchitektur vor. Die von der MySQL-Datenbank bereitgestellte Master-Slave-Replikationsfunktion kann problemlos eine automatische Datenreplikation auf mehreren Servern realisieren. Backup ermöglicht die Erweiterung der Datenbank und erhöht die Datensicherheit erheblich. Ich hoffe, dass es für alle hilfreich ist.
Empfohlenes Lernen: MySQL-Tutorial
Master-Slave-Replikation ist die Voraussetzung für Lese- und Schreibvorgänge. Trennung 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. Gleichzeitig kann nach der Implementierung der Master-Slave-Replikation die Ladeleistung der Datenbank durch die Implementierung der Lese-/Schreibtrennung weiter verbessert werden.
Wie in der Abbildung dargestellt, ist der allgemeine Implementierungsprozess der Master-Slave-Replikation dargestellt.
Die Lese-Schreib-Trennung basiert auf der Master-Slave-Replikation. Nur durch die Realisierung der Master-Slave-Replikation der Datenbank kann die Lese-Schreib-Trennung weiter realisiert werden. Die Lese-Schreib-Trennung kann so verstanden werden, dass alle Abfragevorgänge in der Unterdatenbank und alle Schreibvorgänge in der Hauptdatenbank ausgeführt werden. Nachdem die Daten in die Hauptdatenbank geschrieben wurden, werden sie durch Master-Slave-Replikation in der Unterdatenbank gesichert, um die Datenkonsistenz sicherzustellen.
Lassen Sie uns zunächst das Prinzip der Master-Slave-Replikation verstehen:
Nachdem wir das Prinzip verstanden haben, müssen wir die Voraussetzungen für die Aktivierung der Master-Slave-Replikation kennen:
Der Masterknoten muss Binlog aktivieren (MySQL aktiviert Binlog standardmäßig nicht).
Slave-Knoten, geben Sie a an Binlog-Datei und synchronisieren Der Offset
gibt die IP des Masterknotens an
Der Benutzername und das Passwort zum Ausführen des Masterknotens
Da wir es nun alle grob verstanden haben, erstellen wir einen -Master-One-Slave-Datenbankmodell und demonstrieren Sie den Konfigurationsprozess der Datenbank-Master-Slave-Einrichtung.
Bereiten Sie zwei CentOS-Server vor und installieren Sie mysql5.7 im Voraus.
vim /etc/my.cnf
Verwenden Sie den folgenden Befehl, um MySQL neu zu starten. Verschiedene Linux-Versionen können unterschiedliche Befehle haben.
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 指定不记录二进制日志的数据库
Nach erfolgreichem Start können wir den Bin-Log-Öffnungsstatus durch die folgende Anweisung sehen: (Fragen Sie ihn einfach direkt in Navicat ab)
service mysql restart
show variables like 'log_bin%';
#允许远程用户访问 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.221.131' IDENTIFIED BY '123456' WITH GRANT OPTION; #刷新 FLUSH PRIVILEGES;
Ändern Sie relevante Konfigurationen
show master status;
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 #忽略数据库
Führen Sie den folgenden Befehl auf dem Slave-Knoten aus.
service mysql restart
master_log_pos ist die im ersten Schritt erhaltene Synchronisationsposition; Die folgende Abbildung zeigt an, dass die Master-Slave-Synchronisation erfolgreich hergestellt wurde. Tabellentests können in der Hauptdatenbank erstellt werden.
change master to master_host='192.168.221.128',master_user='root',master_password='123456',master_log_file='binlog.000009',master_log_pos=2339;
MySQL-Lerntutorial
Das obige ist der detaillierte Inhalt vonDetaillierte Analyse von MySQL zum schnellen Aufbau einer Master-Slave-Replikationsarchitektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!