Eine kurze Einführung in MySQL InnoDB ReplicaSet

Eine kurze Einführung in MySQL InnoDB ReplicaSet

01 Einführung in InnoDB ReplicaSet

InnoDB ReplicaSet wurde in MySQL 8.0 eingeführt und bietet die uns bekannten Replikationsfunktionen. Wenn Sie das Konzept des MongoDB-Replikatsatzes kennen, ist InnoDB ReplicaSet leichter zu verstehen.

InnoDB ReplicaSet verwendet die folgenden Techniken:

1. MySQL Shell, ein leistungsfähigerer Client

2. MySQL Router, eine leichtgewichtige Middleware, kann mit der Rolle von Mongos in MongoDB verglichen werden;

3. MySQL Server, auch bekannt als MySQL-Dienst

InnoDB ReplicaSet, im Folgenden als InnoDB-Replikatsatz bezeichnet. Es verwendet die Replikationstechnologie von MySQL. Der Replikationssatz hat einen primären Knoten und einen oder mehrere sekundäre Knoten. Es bietet keine Fehlerselbstheilung und keinen Multimastermodus wie InnoDB-Cluster (InnoDB-Cluster ist eine weitere MySQL-Hochverfügbarkeitslösung), aber es bietet manuelle Methoden zum Hinzufügen, Entfernen und Konfigurieren verwandter Knoten.

Wir verwenden AdminAPI normalerweise in MySQL Shell, um InnoDB-Replikatsätze zu verwalten. AdminAPI hat zwei Versionen, js und python. Wir können problemlos Skripte schreiben, um MySQL automatisch bereitzustellen. AdminAPI bietet eine effektive moderne Schnittstelle für MySQL-Instanzsätze, mit der Sie Bereitstellungen von einem zentralen Tool aus bereitstellen, verwalten und überwachen können.

Der InnoDB-Replikatsatz unterstützt die MySQL-Klonkomponente. Mit dem Klon-Plugin können wir ganz einfach einen Replikatsatz erstellen.

InnoDB ReplicaSet ist eng mit MySQL Router integriert und Sie können AdminAPI verwenden, um mit ihnen zu arbeiten. MySQL Router kann sich basierend auf InnoDB ReplicaSet automatisch selbst konfigurieren, ein Prozess namens Bootstrapping. Es ist daher nicht erforderlich, den Router manuell zu konfigurieren.

02 Einschränkungen von InnoDB ReplicaSet

Oben wurden einige grundlegende Kenntnisse und Konzepte des InnoDB-Replikatsatzes vorgestellt. Hier müssen wir über seine Einschränkungen sprechen. Die Einschränkungen des InnoDB-Replikatsatzes werden hauptsächlich im Vergleich mit dem InnoDB-Cluster deutlich. Wir listen sie unten auf:

1. Es gibt keine automatische Fehlerschaltfunktion. Wenn die primäre Datenbank nicht verfügbar ist, müssen Sie AdminApi verwenden, um das Failover manuell auszulösen.

2. Es ist unmöglich, Datenverluste aufgrund von Unfällen oder Nichtverfügbarkeit zu verhindern. Bei einem Fehler können nicht ausgeführte Transaktionen verloren gehen.

3. Es ist unmöglich, Dateninkonsistenzen nach einem unerwarteten Beenden zu verhindern. Wenn der Masterknoten aufgrund von Netzwerkproblemen vorübergehend getrennt wird und ein Slave-Knoten zum Masterknoten befördert wird, kann es zu einem Brain Split kommen.

4. InnoDB-Replikatsätze unterstützen den Multi-Master-Modus nicht und die klassische Multi-Master-Schreibreplikationslösung kann keine Datenkonsistenz garantieren.

5. InnoDB-Replikatsätze basieren auf asynchroner Replikation und können keine Flusssteuerung wie MGR durchführen, sodass die Lese-Skalierbarkeit bis zu einem gewissen Grad eingeschränkt ist.

6. Alle sekundären Instanzen müssen von der primären Instanz repliziert werden, daher kann dies gewisse Auswirkungen auf die Quellinstanz haben.

Aus der obigen Beschreibung ist nicht schwer zu erkennen, dass zwischen InnoDB-Replikatsätzen und MongoDB-Replikatsätzen immer noch eine große Lücke besteht, aber wir müssen sie dennoch untersuchen, da dies ein wichtiger Schritt der MySQL-Verantwortlichen auf dem Weg zu hoher Verfügbarkeit ist. Ich glaube, dass diese Probleme mit den nachfolgenden Iterationen der Versionen berücksichtigt und gelöst werden und es bessere Lösungen geben wird, um die Benutzeranforderungen noch besser zu erfüllen.

03 Was Sie vor der Bereitstellung wissen sollten

An die Betriebsumgebung des InnoDB-Replikatsatzes werden die folgenden Anforderungen gestellt:

1. Unterstützt nur MySQL 8.0 und höher;

2. Replikationsmethode, die nur GTID unterstützt

3. Es wird nur das Zeilenformat binlog unterstützt, nicht das Anweisungsformat binlog

4. Keine Unterstützung für das Kopieren von Filtern

5. Erlauben Sie nicht die Einrichtung zusätzlicher Replikationskanäle

6. Es gibt nur einen primären Knoten im Replikatsatz, und es können mehrere sekundäre Knoten vorhanden sein. MySQL Router überwacht jeden Knoten

7. Der Replikatsatz muss vollständig von MySQL Shell verwaltet werden. Konfiguration und Änderungen an der Instanz außerhalb von MySQL Shell werden nicht unterstützt.

Im nächsten Artikel beginne ich mit dem grundlegendsten Installationsprozess und beschreibe ausführlich die Installation von MySQL Shell, MySQL Router und den Prozess zum Einrichten eines InnoDB-Replikatsatzes.

Das Obige ist eine kurze Einführung in MySQL InnoDB ReplicaSet. Weitere Informationen zu MySQL InnoDB ReplicaSet finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Hauptfunktionen von MySQL Innodb: Einfügepuffer
  • Detaillierte Erläuterung der Speicherverwaltung der MySQL InnoDB-Speicher-Engine
  • MySQL InnoDB-Quellcodeanalyse für Transaktionssperren
  • Detaillierte Einführung in den MySQL Innodb Index-Mechanismus
  • Detaillierte Erläuterung verschiedener Sperren in der InnoDB-Speicher-Engine in MySQL
  • MySQL-Speicher-Engines InnoDB und MyISAM
  • So lösen Sie Phantom-Lesevorgänge in InnoDB in MySQL

<<:  Optimierung von JavaScript und CSS zur Verbesserung der Website-Leistung

>>:  Einführung in semantische XHTML-Tags

Artikel empfehlen

Die Element-UI-Tabelle realisiert die Dropdown-Filterfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Installieren Sie Docker für Windows unter Windows 10 Home Edition

0. Hintergrund Hardware: Xiaomi Notebook Air 13/I...

Implementierungsmethode der rekursiven MySQL-Baumabfrage

Vorwort Bei baumstrukturierten Daten in der Daten...

Einfaches Beispiel für die Definition und Verwendung von MySQL-Triggern

Dieser Artikel beschreibt die Definition und Verw...

So implementieren Sie den Nginx-Reverse-Proxy für mehrere Server

Nginx verwendet mehrere Reverse-Proxy-Server, was...

Natives js zum Erzielen eines Akkordeoneffekts

Auch bei der tatsächlichen Entwicklung von Websei...

So führen Sie Linux-Shell-Befehle in Docker aus

Um einen Shell-Befehl in Docker auszuführen, müss...

So erstellen Sie mit Harbor ein privates Docker-Repository

Inhaltsverzeichnis 1. Open-Source-Lagerverwaltung...

Vue+js realisiert Video-Ein- und Ausblendeffekte

Vue+js realisiert das Ein- und Ausblenden des Vid...

Einführung in die Containerfunktion of() in der Linux-Kernel-Programmierung

Vorwort Bei der Linux-Kernel-Programmierung werde...

Details zum Schreiben von React in einem Vue-Projekt

Wir können jsx/tsx-Dateien direkt erstellen Die P...

Die vernachlässigten Spezialeffekte von META-Tags (Seitenübergangseffekte)

Durch die Verwendung von JS im Webdesign können vi...