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

Detaillierte Erläuterung der Nginx-Upstream-Konfiguration und -Funktion

Konfigurationsbeispiel Upstream-Backend { Server ...

MYSQL Eine Frage zur Verwendung von Zeichenfunktionen zum Filtern von Daten

Problembeschreibung: Struktur: test hat zwei Feld...

Tabellenbezogene Anordnung und Javascript-Operationen table, tr, td

Gut funktionierende Einstellungen für Tabelleneige...

Einige Tipps zur Beschleunigung der Entwicklung von WeChat-Miniprogrammen

1. Erstellen Sie eine Seite mit app.json Gemäß un...

So zeigen Sie die Zeitzone in MySQL an und ändern sie

Heute habe ich festgestellt, dass ein Programm ei...

Mobile Frontend-Anpassungslösung (Zusammenfassung)

Ich habe online gesucht und festgestellt, dass in...

Implementierung der Parametersprungfunktion im Vue-Projekt

Seitenbeschreibung:​ Hauptseite: Name —> shish...

Implementierung von Docker-Datenvolumenoperationen

Erste Schritte mit Datenvolumes Wenn wir im vorhe...

JavaScript, um einen einheitlichen Animationseffekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der Primärschlüssel und Transaktionen in MySQL

Inhaltsverzeichnis 1. Kommentare zu MySQL-Primärs...

Lösung für das Problem, dass Centos8 Docker nicht installieren kann

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...