事件描述
在虛擬機上做讀寫分離實驗,結束后就發現slave從服務器SQL行程停止了,當時第一反應是master-bin二進制檔案出了問題
mysql> show slave status\G; //在slave上查看的狀態記錄
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 20.0.0.12
Master_User: myslave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000007
Read_Master_Log_Pos: 154
Relay_Log_File: relay-log-bin.000019
Relay_Log_Pos: 677
Relay_Master_Log_File: master-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: No
之后就去master上查看狀態,發現并無例外,二進制檔案也是對比無誤,左思右想,可能與今天做的讀寫分離試驗有關,可能是在試驗最后驗證階段,在從服務器寫入資料測驗試驗結果的操作導致SQL執行緒例外,
mysql> show master status; //查看master狀態
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000007 | 154 | | | |
+-------------------+----------+--------------+------------------+-------------------+
解決辦法
經過驗證,確實是在slave服務器寫入資料造成的例外,解決辦法如下:
- stop slave ; //先關閉主從
- set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; //設定跳過上一次錯誤
- start slave ; //再次開啟主從
mysql> stop slave ; //先關閉主從
Query OK, 0 rows affected (0.00 sec)
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; //設定跳過上一次錯誤
Query OK, 0 rows affected (0.00 sec)
mysql> start slave ; //再次開啟主從
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G; //查看,狀態已經正常了
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 20.0.0.12
Master_User: myslave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000007
Read_Master_Log_Pos: 419
Relay_Log_File: relay-log-bin.000021
Relay_Log_Pos: 321
Relay_Master_Log_File: master-bin.000007
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/60788.html
標籤:其他
上一篇:阿里云制作加密情書送給女朋友
