mysql Replikation-status mit einer select-Abfrage
Ist es möglich, die Replikation status von jedem system aus Datenbank-Tabelle.
mit denen ich mich identifizieren kann, ob die Replikation nach oben oder unten.
Ich brauche, um zu wissen, ob die SLAVE_IO_RUNNING und SLAVE_SQL_RUNNING = JA von einer system-Tabelle?
Manasi
InformationsquelleAutor MySQL DBA | 2011-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist die Aussage, die ich verwendet haben, basierend auf Manasi top-Antwort.
information_schema.global_status
ist jetzt veraltet.Als
information_schema.global_status
ist jetzt veraltet, referer, um @bad-Tee-Reaktion, sprechen aktivierenmaster-info-repository
undrelay-log-info-repository
Variablen, die es ermöglichen, den Zugang zu dieser Art von Informationen.InformationsquelleAutor hslakhan
Hab ich die Lösung in der information_schema-Datenbank. Bitte überprüfen Sie die Tabelle GLOBAL_STATUS in der information_schema-Datenbank. Sie werden sehen, eine variable "SLAVE_RUNNING" wenn es ist "AUF", dass bedeutet, dass die Replikation funktioniert. Wenn es "AUS" ist, dann-Replikation fehlgeschlagen wegen irgendeinem Grund, und Sie müssen überprüfen, warum? 🙂
Manasi
InformationsquelleAutor MySQL DBA
Die primäre Erklärung für diese ist SHOW SLAVE STATUS, die Sie ausführen müssen, auf jedem slave.
Siehe: http://dev.mysql.com/doc/refman/5.1/en/replication-administration-status.html
Auf dem master, Sie können überprüfen Sie den status der angeschlossenen slaves mit SHOW PROCESSLIST zu prüfen, die Liste der Laufenden Prozesse.
Für Sklaven, die gestartet wurden, mit der Option --report-host-option und sind mit dem master verbunden, die SHOW SLAVE HOSTS-Anweisung auf die master-zeigt grundlegende Informationen über die Sklaven.
InformationsquelleAutor Ashwin A
Anfang in MySQL 5.6, können Sie speichern die slave-status in den Tabellen anstelle von Dateien durch starten der server mit
--master-info-repository=TABLE
und--relay-log-info-repository=TABLE
.Referenz: http://dev.mysql.com/doc/refman/5.6/en/slave-logs.html
Selbst mit, dass, ich bin nicht sicher, ob die Tabellen enthalten die spezifischen Werte, die Sie suchen (
SLAVE_IO_RUNNING
undSLAVE_SQL_RUNNING
). Ich konnte nicht versuchen, diese, weil ich bin mit mysql 5.1; ich war gerade auf der Suche und fand Sie in der 5.6 Dokumentation.Es klingt wie Sie versuchen, zu überwachen, den thread-status in einer automatisierten Weise. Da ich nicht mit den Tabellen, ich Plane dies mit einem shell-Skript und cron-job, mit so etwas wie dies:
Referenz: http://www.stardothosting.com/blog/2012/02/checking-and-repairing-mysql-replication-automatically/
InformationsquelleAutor Bad Tea
Diese Lösung verwendet awk zu verarbeiten, eine show-Befehl, output und sendet eine E-mail im Falle von Fehlern, die in jedem Bereich verarbeitet. In diesem Fall werden die Felder Slave_IO_Running und Slave_SQL_Running.
Füllen frei, um andere Felder aus der 'show slave status' output - Last_Error/Seconds_Behind_Master zum Beispiel oder awk die Ausgabe anderer Befehle angezeigt.
wie gewünscht, pls siehe oben
Vielen Dank für das teilen dieses. Verbesserung Vorschlag: holt den status nur einmal und den rest vor Ort. Außerdem schlage ich "grep-i" für die groß-und Kleinschreibung grep. Auf meinem server läuft mysql 5.6 "Last_Error" hat groß-E.
lassen Sie die Menschen lernen, mit Menschen {cmd_name} geben Sie code einige Fehler, so dass Sie haben, um es zu verstehen, bevor Sie einfach einfügen 😉
Diese Antwort geht nicht auf die ursprüngliche Frage, war, wie man die Informationen aus einer system-Tabelle (z.B. über SELECT-Anweisung).
InformationsquelleAutor ninjabber
hslakhan Antwort arbeitet für MySQL 5.6, aber für MySQL 5.7 das slave-status-Variablen haben sich von
information_schema
zuperformance_schema
.Slave_IO_Running
entspricht:Slave_SQL_Running
entspricht:Gibt es einige andere Variablen aus der
SHOW SLAVE STATUS
Ausgang zu finden https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_show_compatibility_56_slave_status für den rest.InformationsquelleAutor Paul Tobias
afaik, es gibt keine Auswahl (wie information_schema)
überprüfen slave-Replikation status
Referenz -- http://dev.mysql.com/doc/refman/5.0/en/show-slave-status.html
InformationsquelleAutor ajreal