Ich wollte nur den Status / das Ergebnis der Spaltenwerte Slave_IO_Running und Slave_SQL_Running erfassen, die ich zur Integration in unsere Anwendung verwenden werde.
Gibt es eine Möglichkeit, nur die Werte dieser Felder abzurufen, anstatt die Werte aller Felder von SHOW SLAVE STATUS abzurufen?
Mein Betriebssystem ist Windows.
Ich benutze MySQL 5.0.24
mysql
replication
Phanindra
quelle
quelle
Antworten:
Ausführen
Aus dem Handbuch :
Vorsichtsmaßnahme: Wenn Sie MySQL vor Version 5.1.46 oder 5.5.4 ausführen, wurde der Slave-E / A-Thread möglicherweise nicht ausgeführt, und die Statusvariable gibt an, dass der Slave ausgeführt wird. ( MySQL Bug 51089 )
Ab MySQL 5.7 funktioniert die oben genannte Lösung standardmäßig nicht mehr. Dies liegt daran, dass viele der Statusvariablen von
information_schema
verschoben werden inperformance_schema
:und
Es gibt zwei Möglichkeiten, um den
slave_running
Status außerhalb von zu erhaltenSHOW SLAVE STATUS
replication-connection-status.SERVICE_STATE
undreplication-applier-status.SERVICE_STATE
inperformance_schema
:HINWEIS: Dies ist für die Einzelmasterreplikation vorgesehen. Die Multi-Master-Replikation sollte in sein
replication_applier_coordinator.SERVICE_STATE
show_compatibility_56
. Dies ist eine vorübergehende Lösung, mit der Sie zurechtkommen, ohne die Anwendung zu ändern. Sie wird jedoch in einer zukünftigen Version behoben.quelle
quelle
Ein nützlicher Befehl, um das Ergebnis auf eine nicht förderfähige Weise anzuzeigen, ist
quelle