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

Vue implementiert Multi-Grid-Eingabefeld auf mobilem Endgerät

Vor Kurzem hat das Unternehmen die Anforderung ge...

So erstellen Sie ein Apr-Modul zur Tomcat-Leistungsoptimierung

Vorwort Tomcat ist ein weit verbreiteter Java-Web...

Detaillierte Erklärung des in JavaScript integrierten Date-Objekts

Inhaltsverzeichnis Date-Objekt Erstellen eines Da...

MySQL-Einstellungscode für die grüne Version und Details zum Fehler 1067

MySQL-Einstellungscode für grüne Version und Fehl...

10 tödliche semantische Fehler in der Webtypografie

<br />Dies stammt aus dem Inhalt von „Web Fr...

Vue verwendet OSS zum Hochladen von Bildern oder Anhängen

Verwenden Sie OSS, um Bilder oder Anhänge in ein ...

Zusammenfassung der gebräuchlichen Buchstaben in Unicode

Die meisten der ersten Computer konnten nur ASCII...

So betreiben Sie eine MySQL-Datenbank mit dem ORM-Modell-Framework

Was ist ORM? ORM steht für Object Relational Mapp...

Eine kurze Analyse des Kimono-Memo-Problems

Heute musste ich nach dem Neustart des Spiels fes...

Verwenden Sie die mail()-Funktion von PHP zum Senden von E-Mails

Senden von E-Mails mit der Mail-Funktion von PHP ...

Lösung für das Problem des achtstündigen Unterschieds bei der MySQL-Einfügezeit

Lösen Sie das Problem des achtstündigen Zeitunter...