天天看點

show slave status 詳解 【MySQL5.7】

以MySQL5.7.19為例,部分重要的地方用紅色标注了。

>show slave status\G

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 172.16.10.12

                  Master_User: rpl

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000032      正在讀取的主庫的binlog檔案名【反映從庫IO_thread執行進度】

          Read_Master_Log_Pos: 1717                  正在讀取到的主庫的pos【反映從庫IO_thread執行進度】

               Relay_Log_File: node1-relay-bin.000012

                Relay_Log_Pos: 320

        Relay_Master_Log_File: mysql-bin.000032    正在執行到的主庫上的binlog檔案名【反映從庫SQL_thread執行進度】

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: 

  Replicate_Wild_Ignore_Table: 

                   Last_Errno: 0

                   Last_Error: 

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 1717      目前執行到的主庫的pos【反映從庫SQL_thread執行進度】

              Relay_Log_Space: 6907

              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: 0

Master_SSL_Verify_Server_Cert: No             

                Last_IO_Errno: 0

                Last_IO_Error: 

               Last_SQL_Errno: 0

               Last_SQL_Error: 

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 3306

                  Master_UUID: e00b1731-a383-11e7-ada1-000c29c99d23

             Master_Info_File: mysql.slave_master_info   表示slave複制的進度是寫表存儲的,而不是寫檔案存儲

                    SQL_Delay: 0

          SQL_Remaining_Delay: NULL

      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

           Master_Retry_Count: 86400

                  Master_Bind: 

      Last_IO_Error_Timestamp: 

     Last_SQL_Error_Timestamp: 

               Master_SSL_Crl: 

           Master_SSL_Crlpath: 

           Retrieved_Gtid_Set: 

            Executed_Gtid_Set: 770c8eb0-9f38-11e7-9b59-000c29c99d23:1-97,

e00b1731-a383-11e7-ada1-000c29c99d23:1-648

                Auto_Position: 0

         Replicate_Rewrite_DB:                    5.7支援動态的設定複制映射

                 Channel_Name:                    5.7支援通過不同的channel_name來實作多源複制

           Master_TLS_Version:

關于Seconds_Behind_Master的解釋:

其值是通過将伺服器目前的時間戳與二進制日志中的事件的時間戳相對比得到的【MySQL手冊上說的是從庫SQL線程與IO線程所處理的最近的日志事件的時間戳差】。

隻有在執行事件時才能報告延遲。

如果備庫複制線程沒有啟動,就會報延遲為NULL。

補充,RESET指令的用法:

1 RESET MASTER:

删除全部的binlog檔案,重置mysql.index檔案為空,然後重新生成一個binlog檔案。

2 RESET QUERY CACHE:

删除查詢緩存。

3 RESET SLAVE:

使從節點忘記它目前複制的位置,它會删除目前的relay log檔案,對新的relay-log檔案從0開始重新編号,但是不會改變 change master to的配置參數(這些參數是在記憶體中的)。

繼續閱讀