Der Unterschied zwischen MySQL-Cluster und Master-Slave
Der Unterschied zwischen Cluster und Master-Slave in MySQL: Die Datenkonsistenz zwischen Master und Slave wird durch die MySQL-Replikation sichergestellt. Im Vergleich zur Datensynchronisationsmethode des MySQL-Clusters ist sie asynchron. Da es asynchron ist, kann es beim Kopieren der Daten zwischen Master und Slave zu einer leichten Verzögerung und zu Inkonsistenzen kommen.
Empfohlener Kurs: MySQL-Tutorial.
Die Datenkonsistenz zwischen Master und Slave wird durch MySQL-Replikation sichergestellt. Im Vergleich zur Datensynchronisationsmethode des MySQL-Clusters ist sie asynchron.
Der Cluster verwendet PXC (Percona XtraDB Cluster), Multi-Node-Daten werden in Echtzeit synchronisiert (Lesen und Schreiben)
Über Master-Slave
Master-Slave kann die Trennung von Lesen und Schreiben gewährleisten, d. h. Schreibvorgänge erfolgen auf dem Master und Lesevorgänge erfolgen auf dem Slave. Es gibt auch mehrere Master-Slave-Modi etwa einen Master und mehrere Slaves.
Zum Beispiel gibt es zwei Geschäftsmodule, die kontinuierlich Bestelldatensätze usw. schreiben, und das andere Modul generiert Berichte. Wenn zu diesem Zeitpunkt keine Lese- und Schreibtrennung erfolgt, werden die Lese- und Schreibvorgänge ausgeführt kollidieren, was zu Konflikten führen und die Leistung beeinträchtigen kann. Wenn Lesen und Schreiben getrennt sind, besteht keine Notwendigkeit, das Lesen und Schreiben derselben Tabelle zu berücksichtigen, um die Leistung zu beeinträchtigen, und mehrere Slaves können den Druck auf dem Server gut teilen und den Druck auf a verringern Einzelmaschine.
Master und Slave verwenden MySQL-Replikation, um die Datenkonsistenz sicherzustellen. Aufgrund der Asynchronität kann es zu einer leichten Verzögerung beim Kopieren von Daten zwischen Master und Slave kommen . Es kommt zu Verzögerungen und Inkonsistenzen.
Replikation: Der Master-Knoten muss Binlog aktivieren, eine eindeutige Server-ID festlegen (einzigartig im lokalen Netzwerk), die Server-ID vom Slave-Knoten festlegen, und das Binlog zeichnet alle Informationen auf dem Master auf. Der Vorgang wird in das Relaylog des Slave-Knotens kopiert und auf dem Slave-Knoten wiedergegeben.
Aber der Master-Slave hat auch Mängel. Der Master ist ausgefallen und muss manuell umgeschaltet werden.
Der andere Grund ist, dass die Daten inkonsistent und nicht konsistent sind. Die folgenden sind einige häufige Gründe: Die Master- oder Slave-Bibliothek wird unerwartet heruntergefahren kann zu Schäden an den Binlog- oder Relaylog-Dateien führen, was zu einer Master-Slave-Inkonsistenz führt. (Es gibt einen Artikel in diesem Blog, der nach der Ausfallzeit behoben wurde)
Wenn sql_log_bin=0 gesetzt ist Wird ausgeführt, bevor die Hauptbibliothek Änderungen vornimmt, zeichnet die Hauptbibliothek das Binlog nicht auf und die Slave-Bibliothek kann diesen Teil der Daten nicht ändern.
Das Binlog-Format der Hauptbibliothek ist eine Anweisung, die nach der Synchronisierung mit der Slave-Bibliothek zu einer Master-Slave-Inkonsistenz führen kann.
Der Slave-Knoten ist nicht auf schreibgeschützt eingestellt, Daten werden versehentlich geschrieben
Die Versionen der Master- und Slave-Instanzen sind inkonsistent, insbesondere wenn die höhere Version der Master und die niedrigere Version der Slave ist. Die von der Master-Datenbank unterstützten Funktionen werden möglicherweise nicht von der Slave-Datenbank unterstützt Funktion wird nicht unterstützt
MySql BUG
Dann müssen Sie bei der Verwendung die folgenden Dinge beachten
Das Binlog der Hauptbibliothek übernimmt das ROW-Format
Die Datenbankversionen der Master- und Slave-Instanzen sollten konsistent sein
Die Hauptbibliothek sollte Steuern Sie die Kontoberechtigungen. Sie können set sql_log_bin=0
Schreibgeschützt aus der Bibliothek aktivieren und kein menschliches Schreiben zulassen
Führen Sie regelmäßig eine Master-Slave-Konsistenzprüfung durch
- Über den Cluster
Der größte Vorteil des Clusters ist die Echtzeitfähigkeit Datensynchronisation, hohe Verfügbarkeit und die Daten jedes Knotens werden konsistent synchronisiert. Im Gegensatz zu Master-Slave, bei dem es manchmal zu Dateninkonsistenzen kommt, und hoher Verfügbarkeit hat ein Knotenausfall keine Auswirkungen auf das Geschäft. Aber der Nachteil ist die Leistung. Jeder Schreibvorgang wird zwischen allen Knoten synchronisiert. Es gibt einen kleinen Leistungsverlust, wodurch eine hohe Verfügbarkeit und Datenkonsistenz gewährleistet wird.
Im Cluster gibt es einen Verwaltungsknoten und mehrere SQL-Knoten und Datenknoten, um die Datenkonsistenz zwischen den Knoten sicherzustellen. Der allgemeine Arbeitsprozess erfolgt lautet wie folgt
Wenn der Master die Commit-Anweisung ausführt, wird die Transaktion an den Slave gesendet und der Slave beginnt, sich auf die Übermittlung der Transaktion vorzubereiten
Jeder Slave muss die Transaktion vorbereiten und dann eine OK- (oder ABORT-)Nachricht an den Master senden, die angibt, dass die Transaktion bereit ist (oder die Transaktion nicht vorbereitet werden kann)
Master wartet darauf, dass alle Slaves eine OK- oder ABORT-Nachricht senden
Wenn der Master OK-Nachrichten von allen Slaves empfängt, sendet er eine Commit-Nachricht an alle Slaves und fordert den Slave auf, die zu übermitteln Transaktion;
Wenn der Master eine ABORT-Nachricht von einem Slave empfängt, sendet er eine ABORT-Nachricht an alle Slaves und weist den Slave an, die Transaktion abzubrechen.
Jeder Slave wartet auf eine OK- oder ABORT-Nachricht vom Master
-
Wenn der Slave eine Commit-Anfrage erhält, wird er die Transaktion festschreiben und Wenn der Slave eine Stornierungsanforderung erhält, macht er alle Änderungen rückgängig und gibt die von ihm belegten Ressourcen frei, wodurch die Transaktion abgebrochen wird, und sendet dann eine Bestätigung an den Master Die Transaktion wurde abgebrochen.
Wenn der Master eine Bestätigung von allen Slaves erhält, meldet er, dass die Transaktion festgeschrieben (oder abgebrochen) wurde und fährt dann mit der nächsten Transaktion fort
Da für die synchrone Replikation insgesamt 4 Nachrichtenübertragungen erforderlich sind, ist die Datenaktualisierungsgeschwindigkeit des MySQL-Clusters langsamer als die des eigenständigen MySQL. Daher muss der MySQL-Cluster in einem Gigabit-LAN oder höher ausgeführt werden. Die Knoten können zwei Netzwerkkarten verwenden und die Knotengruppen sind direkt verbunden, um die Datenaktualisierungsgeschwindigkeit sicherzustellen.
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen MySQL-Cluster und Master-Slave. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Sie können eine neue MySQL -Verbindung in Navicat erstellen, indem Sie den Schritten folgen: Öffnen Sie die Anwendung und wählen Sie eine neue Verbindung (Strg N). Wählen Sie "MySQL" als Verbindungstyp. Geben Sie die Hostname/IP -Adresse, den Port, den Benutzernamen und das Passwort ein. (Optional) Konfigurieren Sie erweiterte Optionen. Speichern Sie die Verbindung und geben Sie den Verbindungsnamen ein.

Schritte zur Durchführung von SQL in Navicat: Verbindung zur Datenbank herstellen. Erstellen Sie ein SQL -Editorfenster. Schreiben Sie SQL -Abfragen oder Skripte. Klicken Sie auf die Schaltfläche Ausführen, um eine Abfrage oder ein Skript auszuführen. Zeigen Sie die Ergebnisse an (wenn die Abfrage ausgeführt wird).
