1. 程式人生 > 資料庫 >mysql 主從資料不一致,提示: Slave_SQL_Running: No 的解決方法

mysql 主從資料不一致,提示: Slave_SQL_Running: No 的解決方法

本文例項講述了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資料庫計有所幫助。