Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung des MySQL-Master-Slave-Replikationsprinzips

Detaillierte Erläuterung des MySQL-Master-Slave-Replikationsprinzips

Guanhui
GuanhuiOriginal
2020-06-17 15:47:245397Durchsuche

Detaillierte Erläuterung des MySQL-Master-Slave-Replikationsprinzips

Detaillierte Erläuterung des MySQL-Master-Slave-Replikationsprinzips

Zunächst verfügt die Datenbank über eine „bin-log“-Binärdatei, die zeichnet alle SQL-Anweisungen auf; kopiert dann die SQL-Anweisung aus der „bin-log“-Datei der Master-Datenbank und führt schließlich die kopierte SQL-Anweisung in der „relay-log“-Redo-Log-Datei der Slave-Datenbank aus.

Master-Slave-Replikation

Master-Slave-Replikation wird verwendet, um eine Datenbankumgebung einzurichten, die genau der Master-Datenbankumgebung entspricht Datenbank, genannt Die Slave-Datenbank und die Master-Datenbank sind im Allgemeinen Quasi-Echtzeit-Geschäftsdatenbanken. In der am häufigsten verwendeten MySQL-Datenbank werden Einzelelement- und asynchrone Zuweisungen unterstützt. Während des Zuweisungsprozesses fungiert ein Server als Master-Server und der andere Server als Slave-Server. Zu diesem Zeitpunkt schreibt der Master-Server die Aktualisierungsinformationen in eine bestimmte Binärdatei.

Und verwaltet einen Dateiindex, um die Protokollrotation zu verfolgen. Dieses Protokoll kann aufgezeichnet und zur Aktualisierung an den Slave-Server gesendet werden. Wenn ein Slave-Server eine Verbindung zum Master-Server herstellt, benachrichtigt der Slave-Server den Master-Server über den Speicherort der letzten erfolgreichen Aktualisierung, die aus der Protokolldatei des Slave-Servers gelesen wurde. Der Slave-Server empfängt dann alle seit diesem Zeitpunkt erfolgten Updates, sperrt ihn dann und wartet, bis der Master-Server neue Updates benachrichtigt.

Die Rolle der Master-Slave-Replikation

1. Führen Sie eine Hot-Sicherung der Daten als Backup-Datenbank durch Slave-Datenbank weiterarbeiten, um Datenverlust zu vermeiden.

2. Architekturerweiterung. Das Geschäftsvolumen wird immer größer und die E/A-Zugriffsfrequenz ist zu hoch, was von einer einzelnen Maschine nicht erfüllt werden kann. Derzeit wird Multi-Datenbank-Speicher verwendet, um die Häufigkeit des Festplatten-E/A-Zugriffs zu reduzieren Verbessern Sie die E/A-Leistung einer einzelnen Maschine.

3. Durch die Trennung von Lesen und Schreiben kann die Datenbank eine größere Parallelität unterstützen. Besonders wichtig in Berichten. Da einige SQL-Anweisungen für Berichte sehr langsam sind, verursachen sie Tabellensperren und wirken sich auf Front-End-Dienste aus. Wenn die Rezeption den Master und der Bericht den Slave verwendet, führt die Berichts-SQL nicht zu einer Front-Desk-Sperre, wodurch die Geschwindigkeit der Rezeption sichergestellt wird.

Empfohlenes Tutorial: „PHP

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des MySQL-Master-Slave-Replikationsprinzips. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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