Zusammenfassung der Wissenspunkte zur MySQL-Master-Slave-Replikation

Zusammenfassung der Wissenspunkte zur MySQL-Master-Slave-Replikation

Eine Optimierungslösung, wenn ein einzelner MySQL-Server den aktuellen Website-Verkehr nicht bewältigen kann. Es muss eine MySQL-Clustertechnologie erstellt werden.

1. Funktion:

Beim Einfügen, Ändern oder Löschen von Daten auf dem Master-Server werden die Daten automatisch mit dem Slave-Server synchronisiert.

Hinweis: Die Master-Slave-Replikation ist einseitig, nur Master->Slave

Es gibt zwei Typen: Übertragungstyp (ein Master und mehrere Slaves): wird im Allgemeinen verwendet für: Sicherung und Trennung von Lesen und Schreiben.

Ring (Multi-Master und Multi-Slave): Allgemeine Verwendung: Wenn der Hauptserver stark beansprucht wird, können regionsübergreifende Websites eine Datensynchronisierung erreichen

Wenn in einer Ringstruktur Datensätze gleichzeitig auf drei Servern in dieselbe Tabelle eingefügt werden, tritt ein „ID-Konfliktproblem“ auf.

Lösung: Lassen Sie die drei Server unterschiedliche IDs generieren;

Der Erste: 1,4,7...

Zweiter Kanal: 2,5,8...

Kanal 3: 3, 6, 9...

Dies kann in der MySQL-Konfigurationsdatei eingestellt werden:

2. Das Master-Slave-Prinzip (mithilfe des Bin-Protokolls)

In MySQL gibt es ein Protokoll namens Bin-Log (Binärprotokoll). In diesem Protokoll werden alle SQL-Anweisungen aufgezeichnet, die die Datenbank ändern (Einfügen, Aktualisieren, Löschen, ALTER TABLE, Gewähren usw.). Das Prinzip der Master-Slave-Replikation besteht eigentlich darin, das BIN-Protokoll auf dem Master-Server auf den Slave-Server zu kopieren und erneut auszuführen, sodass die Daten auf dem Slave-Server mit den Daten auf dem Master-Server identisch sind.

Erweiterung: Protokolliert in MySQL:

Abfrageprotokoll Fehlerprotokoll Bin-Protokoll

Langsames Protokoll: Sie können einen Zeitschwellenwert festlegen, beispielsweise 0,5 Sekunden, sodass alle SQL-Anweisungen, deren Ausführungszeit diesen Wert überschreitet, in Zukunft aufgezeichnet werden. Auf diese Weise können wir die langsamen SQL-Anweisungen erfassen und gezielt optimieren.

Zweck: Sie können schnell das SQL lokalisieren, das die Website herunterzieht, und es dann optimieren, indem Sie einen Index erstellen und die Ergebnisse dieses SQL zwischenspeichern.

3. Tatsächliche Konfiguration

Verwenden Sie das MySQL des Windows-Systems als Master-Server und das unter LINUX als Slave-Server.

Primärer Server:

1. Bin-Logging aktivieren

Ändern Sie die MySQL-Konfigurationsdatei: my.ini und fügen Sie hinzu:

Weisen Sie dem Server eine Server-ID zu (die ID-Werte des Master- und Slave-Servers dürfen nicht wiederholt werden)

Wenn es sich um einen Ringserver handelt, müssen Sie die folgenden Elemente hinzufügen:

log-slave-updates = on // Wenn es sich um einen Ring-Multiserver handelt, müssen Sie dieses Element festlegen.

Erstellen Sie auf dem Master-Server ein Konto für den Slave-Server, um Daten zu synchronisieren

Bei MySQL anmelden

Führen Sie ein SQL aus:

Ein Konto mit ausschließlich REPLICATION SLAVE-Berechtigungen wurde erstellt: Benutzername: Slave Passwort: 1234

Führen Sie SQL auf dem primären Server aus, um den Status des aktuellen Binärprotokolls des primären Servers anzuzeigen.

Hinweis: Diese beiden Werte ändern sich jedes Mal, wenn Sie die Daten ändern. Bedienen Sie daher nach dem Überprüfen dieser beiden Werte den Master-Server nicht und gehen Sie direkt zur Konfiguration des Slave-Servers. Andernfalls stimmen die Werte nicht überein und die Synchronisierung schlägt fehl.

Vom Server (Linux):

Binärprotokoll aktivieren

Ändern Sie die Konfigurationsdatei /etc/my.cnf

Legen Sie eine Server-ID fest:

3. Wenn es sich um einen Ringserver handelt, müssen Sie die folgenden Elemente hinzufügen:

log-slave-updates = on // Wenn es sich um einen Ring-Multiserver handelt, müssen Sie dieses Element festlegen.

4. Führen Sie SQL-Anweisungen auf dem Slave-Server aus, um die Adresse des Master-Servers zu konfigurieren:

Melden Sie sich bei MySQL an:

Einrichten des Slave-Servers und Starten der Replikation

5. Führen Sie SQL aus, um abzufragen, ob der Status des Slave-Servers erfolgreich konfiguriert wurde:

Wenn es zwei JA sind, ist der Code erfolgreich! Beenden!

Hinweis: Bevor die Konfiguration erfolgreich ist, werden die Daten auf dem Master-Server nicht automatisch auf den Slave-Server übertragen. Daher müssen Sie vor der Konfiguration alle Daten auf dem Master-Server manuell auf den Slave-Server importieren. Nach der Konfiguration von Master und Slave werden die Daten dann synchronisiert.

Anwendungen:

Der Slave-Server fungiert als Backup-Server für Daten. Wenn der Server stark ausgelastet ist, können Sie Master-Slave-Server verwenden, um Lese- und Schreibverkehr zu trennen und so die Belastung des Servers zu verringern. Regionsübergreifende Website-Optimierung

Wie erstellt man eine Message Board-Funktion unter Berücksichtigung der für verschiedene Regionen optimierten Architekturideen?

Das Obige sind alle Wissenspunkte zu den Prinzipien der MYSQL-Master-Slave-Replikation. Vielen Dank für Ihr Lernen und Ihre Unterstützung für 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Ursachen und Lösungen für Verzögerungen bei der MySQL Master-Slave-Replikation
  • Konfigurationsprozess für die MySQL-Master-Slave-Replikation
  • Umfassende Interpretation der MySQL Master-Slave-Replikation, vom Prinzip bis zur Installation und Konfiguration
  • Detaillierte Erläuterung des Prinzips und der Praxis der MySQL-Master-Slave-Replikation
  • Detaillierte Erläuterung der Prinzipien und der Verwendung der MySQL-Master-Slave-Replikation und der Lese-/Schreibtrennung
  • Detaillierte Erläuterung der Rolle und des Funktionsprinzips der MySQL-Master-Slave-Replikation
  • Zusammenfassung der MySQL-Vollsicherung, Master-Slave-Replikation, kaskadierenden Replikation und Halbsynchronisierung
  • Tiefgreifendes Verständnis des Statusübergangs des MySQL-Master-Slave-Replikationsthreads
  • So überspringen Sie Fehler bei der MySQL-Master-Slave-Replikation

<<:  Tutorial zur Installation von Linux-JDK und zur Konfiguration von Umgebungsvariablen (jdk-8u144-linux-x64.tar.gz)

>>:  js, um einen einfachen Front-End-Paging-Effekt zu erzielen

Artikel empfehlen

Verwenden des CSS-Loaders zum Implementieren des CSS-Moduls in Vue-CLI

【Vorwort】 Sowohl die modularen CSS-Lösungen von V...

Der Unterschied und die Einführung von ARGB, RGB und RGBA

ARGB ist ein Farbmodus, also der RGB-Farbmodus mi...

Tools zur Bildoptimierung für Webseiten und Tipps zur Verwendung

Als grundlegendes Element einer Webseite sind Bil...

Beispielcode zur Eingabe des Kennzeichens und der Provinzkürzel in html

Das Prinzip besteht darin, zuerst ein Div mit ein...

Eine kurze Diskussion über Tags in HTML

0. Was ist ein Tag? XML/HTML-CodeInhalt in die Zw...

JS implementiert das Schere-Stein-Papier-Spiel

In diesem Artikelbeispiel wird der spezifische JS...

Erste Schritte mit der Konvertierung von Vue in React

Inhaltsverzeichnis Design Komponentenkommunikatio...

Eine einfache Möglichkeit, das Passwort in MySQL 5.7 zu ändern

Dies ist ein offizieller Screenshot. Nach der Ins...

Implementierung der Nginx-Konfiguration https

Inhaltsverzeichnis 1: Bereiten Sie das https-Zert...