Mysql
檢查從主伺服器複製的 MySQL 從伺服器的狀態的最佳方法是什麼?
具體來說,我有一組 InnoDB 表,我們將它們備份到 MyISAM 表中以提供全文搜尋。從屬數據庫通常落後於主數據庫。我正在尋找有關可用於跟踪滯後的診斷或命令的建議。兩台機器都在同一個網路上。非常感謝。
SHOW SLAVE STATUS是你的命令
mysql> SHOW SLAVE STATUS\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: localhost Master_User: root Master_Port: 3306 Connect_Retry: 3 Master_Log_File: gbichot-bin.005 Read_Master_Log_Pos: 79 Relay_Log_File: gbichot-relay-bin.005 Relay_Log_Pos: 548 Relay_Master_Log_File: gbichot-bin.005 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 79 Relay_Log_Space: 552 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 8 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: 0
相關部分是:
Slave_IO_State: Waiting for master to send event
“等主人……”是你平時最想看到的
Master_Log_File: gbichot-bin.005 Read_Master_Log_Pos: 79 Exec_Master_Log_Pos: 79
這與主伺服器上的“SHOW MASTER STATUS”相結合,可讓您比較已傳輸和正確複製的數量
Slave_IO_Running: Yes Slave_SQL_Running: Yes
複製是否正在執行?
Seconds_Behind_Master: 8
滯後估計
Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error:
如果有錯誤,這表明出了什麼問題。還要檢查您的錯誤日誌和 SHOW PROCESSLIST 以獲取更多資訊