Heim > Datenbank > MySQL-Tutorial > So erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQL

So erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQL

PHPz
Freigeben: 2023-05-30 10:01:33
nach vorne
1445 Leute haben es durchsucht

So erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQL

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.

So erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQL

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.

So erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQL

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.
  1. 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.
  2. 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)
  1. Slave-Knoten, geben Sie eine Binlog-Datei und den synchronisierten Offset an#🎜 🎜#
  2. #🎜🎜 #
  3. Geben Sie die IP des Masterknotens an

  • Benutzername und Passwort zum Ausführen des Masterknotens# 🎜🎜#

    # 🎜🎜#
  • Da wir es nun alle grob verstanden haben, erstellen wir ein Datenbankmodell mit einem Master und einem Slave, um den Konfigurationsprozess der Datenbank-Master-Slave-Konstruktion zu demonstrieren.
  • Bereiten Sie zwei CentOS-Server vor und installieren Sie MySQL5.7 im Voraus.

  • 2.1 Öffnen Sie das Binlog des Masterservers
Bearbeiten Sie die my.cnf-Datei von MySQL: (Verschiedene Installationsmethoden können unterschiedliche Dateispeicherorte haben, spezifische Analyse spezifischer Probleme ~) #🎜🎜 #
vim /etc/my.cnf
Nach dem Login kopieren
Nach dem Login kopieren

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 指定不记录二进制日志的数据库
Nach dem Login kopieren

Verwenden Sie den folgenden Befehl, um MySQL neu zu starten. Verschiedene Linux-Versionen können unterschiedliche Befehle haben.

service mysql restart
Nach dem Login kopieren
Nach dem Login kopieren

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%';
Nach dem Login kopieren

# 🎜 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;
Nach dem Login kopieren

So erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQL

Zugehörige Konfigurationen ändern

show master status;
Nach dem Login kopieren
#🎜 🎜#Hinzufügen Zugehörige Informationen:

vim /etc/my.cnf
Nach dem Login kopieren
Nach dem Login kopieren

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 #忽略数据库
Nach dem Login kopieren
  • Führen Sie den folgenden Befehl auf dem Slave-Knoten aus.

    service mysql restart
    Nach dem Login kopieren
    Nach dem Login kopieren
  • master_log_file ist der im ersten Schritt erhaltene Dateiname;

master_log_pos ist die im ersten Schritt erhaltene Synchronisationsposition; # So erstellen Sie schnell eine Master-Slave-Replikationsarchitektur in MySQLSlave-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;
Nach dem Login kopieren
  • Ü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;
    Nach dem Login kopieren

    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!

Verwandte Etiketten:
Quelle:yisu.com
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