本文實例講述了mysql 主從數據不一致,提示: Slave_SQL_Running No 的解決方法。分享給大家供大家參考,具體如下:
在slave服務器上通過如下命令
mysql> show slave status\G;
顯示如下情況:
Slave_IO_Running: Yes
Slave_SQL_Running: No
表示slave不同步
解決方法一(忽略錯誤,繼續同步):
1、先停掉slave
2、跳過錯誤步數,后面步數可變
mysql> set global sql_slave_skip_counter=1;
3、再啟動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
5、導入備份的數據文件
mysql> source /data/bak.sql
6、重置同步
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
9、查看slave狀態
mysql> show slave status\G;
顯示如下信息則表示正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
10、對主數據庫解鎖
11、再次在主庫中添加或修改數據,看從庫數據是否同步。
更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》
希望本文所述對大家MySQL數據庫計有所幫助。
您可能感興趣的文章:- mysql同步問題之Slave延遲很大優化方法
- 解決MySQL中的Slave延遲問題的基本教程
- MySQL中slave監控的延遲情況分析
- 記一次MySQL Slave庫恢復實戰記錄
- Mysql主從數據庫(Master/Slave)同步配置與常見錯誤
- MySQL中slave_exec_mode參數詳解
- MySQL5.6 數據庫主從同步安裝與配置詳解(Master/Slave)
- MySQL Slave 觸發 oom-killer解決方法
- MySQL slave 延遲一列 外鍵檢查和自增加鎖