mysql 主從資料不一致,提示: Slave_SQL_Running: No 的解決方法
阿新 • • 發佈:2020-02-27
本文例項講述了mysql 主從資料不一致,提示: Slave_SQL_Running No 的解決方法。分享給大家供大家參考,具體如下:
在slave伺服器上通過如下命令
mysql> show slave status\G;
顯示如下情況:
Slave_IO_Running: Yes
Slave_SQL_Running: No
表示slave不同步
解決方法一(忽略錯誤,繼續同步):
1、先停掉slave
mysql> stop slave;
2、跳過錯誤步數,後面步數可變
mysql> set global sql_slave_skip_counter=1;
3、再啟動slave
mysql> start slave;
4、檢視同步狀態
mysql> show slave status\G;
解決方法二(重新做主從,完全同步):
1、先進入主庫進行鎖表,注意視窗不要關閉
mysql> flush table with read lock;
2、把資料進行備份
> mysqldump -uroot -p --opt -R 資料庫 > /data/bak.sql
3、再新開個視窗,檢視主資料庫資訊
mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000005 | 1158 | | | | +------------------+----------+--------------+------------------+-------------------+
4、在從庫上停止slave
mysql> stop slave;
5、匯入備份的資料檔案
mysql> source /data/bak.sql
6、重置同步
mysql> reset slave;
7、重新設定同步節點
mysql> CHANGE MASTER TO MASTER_HOST='192.168.137.233',MASTER_PORT=3306,MASTER_USER='sync',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=1158;
host,port,user,password請根據你的主庫設定相應修改,log_file和log_pos根據主庫中master status相應修改。
8、開啟slave
mysql> start slave;
9、檢視slave狀態
mysql> show slave status\G;
顯示如下資訊則表示正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
10、對主資料庫解鎖
mysql> unlock tables;
11、再次在主庫中新增或修改資料,看從庫資料是否同步。
更多關於MySQL相關內容感興趣的讀者可檢視本站專題:《MySQL查詢技巧大全》、《MySQL常用函式大彙總》、《MySQL日誌操作技巧大全》、《MySQL事務操作技巧彙總》、《MySQL儲存過程技巧大全》及《MySQL資料庫鎖相關技巧彙總》
希望本文所述對大家MySQL資料庫計有所幫助。