MySQL-Replikation überwachen
Sie können die MySQL-Replikationsaktivität und -Metriken für HeatWave- und externe MySQL-DB-Systeme im Datenbankmanagement überwachen.
MySQL verfügt über ein integriertes Feature, mit dem Daten von einem MySQL-Server auf einen oder mehrere MySQL-Server repliziert werden können. Dadurch wird ein nahtloses Failover, verteilte Lesevorgänge und eine effiziente Datenredundanz ermöglicht. Die MySQL-Replikation bietet Flexibilität durch verschiedene Replikationstypen, die jeweils unterschiedliche Merkmale und Vorteile aufweisen, die auf bestimmte Anwendungsfälle zugeschnitten sind. Hier sind einige wichtige MySQL-Replikationstypen:
- Asynchrone Replikation: Herkömmliche MySQL-Replikation, mit der Daten von einem MySQL-Server, der als Quelle bezeichnet wird, auf einen oder mehrere MySQL-Server kopiert werden können, die als Replikate bezeichnet werden. Die Replikation ist standardmäßig asynchron. Replikate müssen nicht dauerhaft verbunden sein, um Updates von einer Quelle zu erhalten. Die asynchrone Replikation kann wie folgt konfiguriert werden, um Pfade für die Datenübertragung einzurichten:
- Eingehende Replikation: Verwendet einen Replikationskanal, der auf diesem MySQL-Server konfiguriert ist, um Transaktionen von einer externen Quelle zu empfangen und anzuwenden.
- Ausgehende Replikation: Verwendet einen Replikationskanal, um Transaktionen von diesem MySQL-Server an einen anderen Speicherort zu senden. Der Kanal wird immer auf dem Replikat konfiguriert. Wenn das Replikat ein HeatWave-DB-System ist, wird der Kanal im HeatWave-Service konfiguriert.
- Gruppenreplikation: High Availability-Lösung, mit der ein Set von MySQL-Servern als zusammenhängende Gruppe fungieren kann, um Datenkonsistenz und Fehlertoleranz sicherzustellen. Jeder MySQL-Server verwaltet eine vollständige Kopie der Daten und kommuniziert über die Nachrichtenübermittlung mit anderen Gruppenmitgliedern. Die Kommunikationsschicht bietet eine Reihe von Garantien, wie z. B. atomare Nachrichten und die gesamte Auftragsnachrichtenzustellung.
Weitere Informationen:
- MySQL-Replikation, siehe Replikation
- Gruppenreplikation, siehe Gruppenreplikation
- MySQL-Replikationstypen, siehe Replikationstechnologien
- Eingehende und ausgehende Replikation im Service HeatWave, siehe Eingehende Replikation und Ausgehende Replikation
Im Datenbankmanagement können Sie die Replikation für ein DB-System überwachen. Dies ist entscheidend, um Datenkonsistenz, Performance und High Availability sicherzustellen. Durch die Überwachung der MySQL-Replikation erhalten Sie die Transparenz und Kontrolle, die erforderlich sind, um komplexe Datenbankumgebungen effektiv zu verwalten. Damit können Sie proaktiv Probleme beheben, die Performance optimieren und sicherstellen, dass das Replikationssetup Ihren Anforderungen an das Datenmanagement entspricht.
Um zum Abschnitt Replikation zu gehen, gehen Sie zur Seite MySQL-Datenbankdetails, und klicken Sie im linken Fensterbereich unter Ressourcen auf Replikation.
- Bei HeatWave-DB-Systemen wird die Option Replikation unter Ressourcen nur angezeigt, wenn die Option Vollständiges Monitoring beim Aktivieren des Datenbankmanagements aktiviert ist. Weitere Informationen finden Sie unter Datenbankmanagement für HeatWave aktivieren.
- Wenn der Monitoringbenutzer bei externen MySQL-DB-Systemen nicht über die Berechtigung
REPLICATION CLIENT
oderREPLICATION SLAVE
verfügt, werden keine Informationen im Abschnitt Replikation angezeigt, und ein Fehler wird angezeigt. - Bei HeatWave-DB-Systemen werden nicht alle Konfigurationsparameter und Replikationsdetails angezeigt, die in den Registerkarten Übersicht, High Availability und Binärlog unten aufgeführt sind.
Im Abschnitt Replikation können Sie Informationen und Metriken zur Replikationskonfiguration auf den folgenden Registerkarten überwachen:
- Registerkarte Übersicht: Zeigt die verschiedenen Replikationskonfigurationsparameter und Metriken für den MySQL-Server an.
- Konfiguration: In diesem Abschnitt werden die folgenden Replikationskonfigurationsparameter angezeigt:
- Instanz: Der Server MySQL im Replikationssetup.
- Eingehend: Die Anzahl der Replikationskanäle, in denen der MySQL-Server Daten von einem anderen Server empfängt. Gibt an, ob der MySQL-Server für den Empfang von Daten von einem anderen Server konfiguriert ist und ein Replikat ist.
- Instanztyp: Die Rolle des Servers MySQL im Replikationsprozess, wie Quell-, Replikat- oder Primärgruppenmitglied.
- Server-ID: Eine eindeutige ID, die jedem MySQL-Server zugewiesen ist und für den Replikationsprozess zur Unterscheidung zwischen verschiedenen Servern kritisch ist.
- Server-UUID: Die Universally Unique Identifier (UUID) für den MySQL-Server, die eine weitere Identifikationsschicht für die Replikation bereitstellt und die Eindeutigkeit des Servers gewährleistet.
- Ausgehend: Die Anzahl der Replikationskanäle, in denen der MySQL-Server Daten sendet. Gibt an, ob der MySQL-Server für das Senden von Daten an andere Server konfiguriert ist und die Quelle ist.
- Schreibgeschützt: Gibt an, ob sich der Server im schreibgeschützten Modus befindet, wodurch Datenänderungsvorgänge eingeschränkt werden:
- ON: Der MySQL-Server ist als
read_only
konfiguriert. - SUPER: Der MySQL-Server ist als
super_read_only
konfiguriert. - OFF: Der MySQL-Server ist weder
read_only
nochsuper_read_only
.
- ON: Der MySQL-Server ist als
- Binärlogging: Gibt an, ob das Binärlogging aktiviert ist. Dieses Feature protokolliert datenverändernde SQL-Anweisungen und ist für die Replikation unerlässlich, da es eine Aufzeichnung von Änderungen bereitstellt, die an Replikate gesendet werden sollen.
- Logformat: Das Format des Binärlogs, z.B. STATEMENT oder ROW, das bestimmt, wie Änderungen protokolliert und repliziert werden.
- Globaler Transaktions-ID-Modus: Gibt an, ob die GTID-basierte Replikation aktiviert ist. Die globale Transaktions-ID (GTID) stellt eine eindeutige ID für jede Transaktion bereit und ermöglicht eine zuverlässigere und konsistentere Replikation.
- Status: In diesem Abschnitt werden die folgenden Replikationsdetails angezeigt:
- Aktive Verbindungen: Die Anzahl der derzeit aktiven Verbindungen zum Server MySQL.
- Anzahl Anweisungen: Die Gesamtanzahl der SQL-Anweisungen, die auf dem MySQL-Server ausgeführt wurden.
- Fetch-Status: Der aktuelle Status der Fetch-Vorgänge. Gibt an, ob das Replikat erfolgreich Daten aus der Quelle abgerufen hat.
- Status "Anwenden": Der aktuelle Status der Apply-Vorgänge. Gibt an, ob die Änderungen erfolgreich auf das Replikat angewendet wurden.
- High Availability-Mitgliedsstatus: Der aktuelle Status des Servers MySQL innerhalb der Replikationsgruppe. Informationen zu den verschiedenen Status finden Sie unter Gruppenreplikationsserverstatus.
- Durchschnittliche Anweisungslatenz: Die durchschnittliche Zeit für die Ausführung von SQL-Anweisungen.
- Ausgeführte globale Transaktions-IDs: Die GTIDs aller Transaktionen, die auf dem MySQL-Server ausgeführt oder explizit als gelöscht festgelegt wurden.
- Zeit dahinter: Die Anzahl der Sekunden, die dieses Replikat bei der Verarbeitung der Transaktionen aus dem Binärlog der Quelle hinter der Quelle zurückbleibt.
- Statistiken: In diesem Abschnitt werden die folgenden Replikationsmetrikdiagramme angezeigt:
- Aktive Verbindungen: Zeigt die Anzahl der derzeit aktiven Verbindungen zum Server MySQL an.
- Anweisungsanzahl: Zeigt die Gesamtanzahl der SQL-Anweisungen an, die auf dem MySQL-Server ausgeführt wurden.
- Durchschnittliche Anweisungslatenz (Sekunden): Zeigt die durchschnittliche Zeit für die Ausführung von SQL-Anweisungen an.
- Konfiguration: In diesem Abschnitt werden die folgenden Replikationskonfigurationsparameter angezeigt:
- Registerkarte High Availability: Zeigt die Konfigurationsparameter für High Availability und Disaster Recovery, Gruppenreplikationsmetriken für den MySQL-Server und Gruppenreplikationsmitglieder an. Diese Registerkarte wird angezeigt, wenn Replikationstypen überwacht werden, die Gruppenreplikation verwenden oder Teil eines InnoDB-Clusters sind.
- Konfiguration: In diesem Abschnitt werden die folgenden High Availability-Parameter für die Gruppenreplikation angezeigt:
- Gruppenname: Eine eindeutige ID, mit der die Replikationsgruppe unterschieden wird, zu der der MySQL-Server gehört. Jeder MySQL-Server in der Gruppe hat denselben Gruppennamen. Dadurch wird sichergestellt, dass MySQL-Server nur mit den beabsichtigten Peers repliziert werden.
- Flowkontrollstatus: Gibt an, ob die Ablaufsteuerung derzeit im Gruppenreplikationssetup aktiv ist. Dadurch wird die Gruppenstabilität und -konsistenz gewahrt, indem verhindert wird, dass langsamere Mitglieder übermäßige Transaktionsrückstände akkumulieren:
- DISABLED: Die Ablaufsteuerung ist deaktiviert, und es erfolgt keine Drosselung.
- QUOTA: Die Ablaufsteuerung ist aktiv, und die Gruppe reguliert den Transaktionsablauf auf Basis vordefinierter Schwellenwerte.
- Automatische Inkrementierung für Gruppen: Das Intervall zwischen aufeinanderfolgenden Werten für automatisch inkrementierte Spalten für Transaktionen, die auf dem MySQL-Server ausgeführt werden.
- Deployment-Modus: Gibt den Deployment-Modus der Gruppe an:
- Einzelne Primärdatenbank: Nur ein primäres Element, das Schreibvorgänge akzeptiert.
- Mehrere Primär: Alle Elemente können Schreibvorgänge gleichzeitig akzeptieren.
- Status: In diesem Abschnitt werden die folgenden Gruppenreplikationsdetails angezeigt:
- ID anzeigen: Die aktuelle Ansichts-ID für die Gruppe.
- Mitgliedsstatus: Der aktuelle Status des Servers MySQL innerhalb der Replikationsgruppe. Informationen zu den verschiedenen Status finden Sie unter Gruppenreplikationsserverstatus.
- Transaktionen in GTID_EXECUTED: Die Anzahl der Transaktionen, die innerhalb der Gruppe repliziert wurden.
- Statistiken: In diesem Abschnitt werden die folgenden Metrikdiagramme angezeigt:
- In Queue gestellte Transaktionen: Zeigt die Anzahl der Transaktionen in der Queue mit ausstehenden Konflikterkennungsprüfungen an.
- Zeilenvalidierung: Zeigt die Anzahl der Zeilen an, die derzeit validiert werden, um Konflikte während der Transaktionszertifizierung zu erkennen.
- Aktivierte Transaktionen: Zeigt die Anzahl der Transaktionen an, die gruppenübergreifend auf Konflikte geprüft wurden.
- Erkannte Konflikte: Zeigt die Anzahl der Transaktionen an, bei denen die Konflikterkennung fehlgeschlagen ist.
- Gruppenreplikationsmitglieder: In diesem Abschnitt werden die MySQL-Server in der Replikationsgruppe zusammen mit den folgenden Details aufgeführt:
- Host: Die Netzwerkadresse (Hostname oder IP-Adresse) des Member-Servers.
- Port: Die Portnummer, die der Member-Server auf Verbindungen horcht.
- Status: Der aktuelle Status des Member-Servers.
- Rolle: Die Rolle des Member-Servers.
- Server-UUID: Die UUID des Member-Servers.
- Konfiguration: In diesem Abschnitt werden die folgenden High Availability-Parameter für die Gruppenreplikation angezeigt:
- Registerkarte Eingehend: Zeigt Informationen und Metriken zum eingehenden Replikationskanal an. Diese Registerkarte wird angezeigt, wenn der MySQL-Server im Replikationsprozess als Replikat konfiguriert ist.
- Relay-Logmetriken: In diesem Abschnitt werden die folgenden Relay-Logmetrikdiagramme angezeigt, die für alle eingehenden Replikationskanäle aggregiert werden:
- Speicherplatzbelegung (Byte): Zeigt die Festplattenkapazität an, die von den Relay-Logdateien auf dem Replikat belegt wird.
Hinweis
Wenn der Monitoringbenutzer nicht über die BerechtigungREPLICATION CLIENT
verfügt, werden Daten in diesem Metrikdiagramm nicht angezeigt. - Datei-I/O-Lesevorgang (Byte pro Sekunde): Zeigt die Rate an, mit der Daten aus den Relay-Logdateien gelesen werden.
- Datei-I/O geschrieben (Byte pro Sekunde): Zeigt die Rate an, mit der Daten in die Relay-Logdateien geschrieben werden.
- Datei-I/O-Latenz (Mikrosekunden): Zeigt die Verzögerung zwischen dem Lesen und Schreiben von Daten in die Relay-Logdateien an.
- Speicherplatzbelegung (Byte): Zeigt die Festplattenkapazität an, die von den Relay-Logdateien auf dem Replikat belegt wird.
- Zustand: In diesem Abschnitt werden die folgenden Details zum Zustand der Komponenten Empfänger und Applier angezeigt:
- Der Empfänger ist für den Aufbau und die Pflege der Verbindung zur Quelle verantwortlich.
- Status: Der aktuelle Status des Empfängers, der angibt, ob er derzeit ausgeführt wird und ordnungsgemäß funktioniert.
- Fehlernummer: Der numerische Code des letzten Fehlers, der beim Empfänger aufgetreten ist.
- Fehlermeldung: Die Meldung, die der Fehlernummer entspricht.
- Applier ist für die Ausführung der vom Empfänger abgerufenen Ereignisse und deren Anwendung auf das Replikat verantwortlich.
- Status: Der aktuelle Status des Applier, der angibt, ob er derzeit ausgeführt wird und ordnungsgemäß funktioniert.
- Fehlernummer: Der numerische Code des letzten Fehlers, der vom Applier aufgetreten ist.
- Fehlermeldung: Die Meldung, die der Fehlernummer entspricht.
- Der Empfänger ist für den Aufbau und die Pflege der Verbindung zur Quelle verantwortlich.
- Konfiguration: In diesem Abschnitt werden die folgenden Parameter für den eingehenden Replikationskanal angezeigt:
- Quelle ist der Upstream-Server MySQL, von dem Daten repliziert werden.
- Host: Hostname oder IP-Adresse der Quelle.
- Port: Die Portnummer auf der Quelle, mit der das Replikat zur Replikation verbunden werden soll.
- Server-UUID: Die UUID der Quelle.
- ID: Die Server-ID der Quelle.
- Replikat ist der aktuelle MySQL-Server.
- Server-UUID: Die UUID des Replikats.
- ID: Die Server-ID des Replikats.
- Einstellungen für Anwenden beeinflussen, wie das Replikat die von der Quelle empfangenen Transaktionen anwendet.
- Verzögerung: Die konfigurierte Anzahl von Sekunden, die dieses Replikat hinter der Quelle auf diesem Kanal zurückbleiben muss.
- Workers: Die konfigurierte Anzahl an Applier-Threads für die parallele Ausführung von Replikationstransaktionen.
- Verarbeitung globaler Transaktions-IDs: Gibt an, ob der Kanal GTIDs replizierten Transaktionen zuweist, die keine haben:
- AUS: Es sind keine GTIDs zugewiesen.
- LOCAL: Es wird eine GTID zugewiesen, die die UUID dieses Replikats enthält.
- <UUID>: Eine GTID wird zugewiesen, die eine manuell festgelegte UUID enthält.
- Filter steuern, welche Daten von der Quelle in das Replikat repliziert werden. Sie können so konfiguriert werden, dass bestimmte Datenbanken, Tabellen oder andere Objekte ein- oder ausgeschlossen werden.
- Quelle ist der Upstream-Server MySQL, von dem Daten repliziert werden.
- Statistiken: In diesem Abschnitt werden die folgenden Details zum eingehenden Replikationskanal angezeigt:
- Belegter Relay-Logspeicherplatz: Der gesamte Festplattenplatz, der von den Relay-Logdateien für diesen Kanal belegt wird.
- Empfangene Transaktionen: Die Anzahl der Transaktionen, die das Replikat vom Quellserver empfangen hat.
- Apply-Verzögerung: Die Zeit, in der die aktuelle Transaktion zwischen dem Festschreiben in der Quelle und dem Anwenden auf das Replikat dauerte.
- Beschäftigte Worker: Die Anzahl der Replikations-Worker-Threads, die derzeit aktiv sind, wenn Transaktionen über diesen Kanal auf das Replikat angewendet werden.
- Relay-Logmetriken: In diesem Abschnitt werden die folgenden Relay-Logmetrikdiagramme angezeigt, die für alle eingehenden Replikationskanäle aggregiert werden:
- Registerkarte Ausgehend: Zeigt Informationen zu den Replikaten des MySQL-Servers an. Diese Registerkarte wird angezeigt, wenn der MySQL-Server im Replikationsprozess als Quelle konfiguriert ist.
- Konfiguration: In diesem Abschnitt werden die Replikate des aktuellen MySQL-Servers sowie die folgenden Details aufgeführt:
- Host: Der Hostname des Replikats, wie auf dem Replikat mit der Option
--report-host
angegeben. - Port: Der Port, auf dem das Replikat horcht, wie im Replikat mit der Option
--report-port
angegeben. - Server-ID: Die Server-ID des Replikats.
- Server-UUID: Die UUID des Replikats.
- Host: Der Hostname des Replikats, wie auf dem Replikat mit der Option
- Konfiguration: In diesem Abschnitt werden die Replikate des aktuellen MySQL-Servers sowie die folgenden Details aufgeführt:
- Registerkarte Binärlog: Zeigt einen Überblick über die Konfigurationsparameter, Details und Metrikdiagramme des Binärlogs für den MySQL-Server an.
- Konfiguration: In diesem Abschnitt werden die folgenden Binärlogkonfigurationsparameter angezeigt:
- Aktiviert: Gibt an, ob das Binärlogging auf dem Server aktiv ist.
- Logformat: Gibt das Format an, in dem Änderungen im Binärlog aufgezeichnet werden:
- STATEMENT: Protokolliert die SQL-Anweisungen, die Daten ändern.
- ROW: Protokolliert die tatsächlichen Datenänderungen auf Zeilenebene.
- MIXIERT: Wechselt je nach Art der Anweisung zwischen anweisungsbasierter und zeilenbasierter Replikation.
- Logkomprimierung: Gibt an, ob die Komprimierung aktiviert ist und auf das Binärlog angewendet wird, um die Speicherplatzbelegung und die Netzwerkbandbreite zu reduzieren.
- Status: In diesem Abschnitt werden die folgenden Binärlogdetails angezeigt:
- Binärlogname: Die aktuelle Binärlogdatei, die vom MySQL-Server verwendet wird.
- Binärlogposition: Die aktuelle Position in der aktiven Binärlogdatei, in der der MySQL-Server schreibt.
- Prozentsatz der Logkomprimierung: Der Prozentsatz der Komprimierung, der für die Binärlogdateien erreicht wird, wenn Logkomprimierung aktiviert ist.
- Statistiken: In diesem Abschnitt werden die folgenden Binärlogmetrikdiagramme angezeigt:
- Speicherplatzbelegung (Byte): Zeigt den gesamten von den Binärlogdateien belegten Speicherplatz an.
- I/O-Lesevorgang (Byte pro Sekunde): Zeigt die Rate an, mit der Daten aus den Binärlogdateien gelesen werden.
- E/A geschrieben (Byte pro Sekunde): Zeigt die Rate an, mit der Daten in die Binärlogdateien geschrieben werden.
- I/O-Latenz (Mikrosekunden): Zeigt die Verzögerung beim Lesen oder Schreiben in die Binärlogdateien an.
- Konfiguration: In diesem Abschnitt werden die folgenden Binärlogkonfigurationsparameter angezeigt: