MySQL數據同步出現slave_sql_running:no或slave_io_running:no問題的解決方法


從數據庫上着兩個進程的介紹

在這里插入圖片描述

slave從數據庫機器上有兩個關鍵的進程:
一個是slave_io_running,負責與主機的io通信;
一個是slave_sql_running,負責自己的slave mysql進程。

如果是slave_io_running:no

肯定是因為log文件或者pos位置跟主服務器不對應導致的;
解決辦法:
修改從服務器與主服務器一致即可,每次主服務器的sql操作都會影響pos位置,主從服務器的pos同時改變;

mysql-> slave stop;  #關閉服務
mysql-> change 	master to master_log_file='主服務器的文件', MASTER_LOG_POS=0;  
mysql-> slave start; #開啟服務 
mysql-> show slave status\G;  #查看狀態是否為yes
如果是slave_sql_running:no

一般是因為執行sql語句時發生錯誤導致,這種錯誤有很多觸發方式,在此不一一列舉:
解決辦法:
1、簡單粗暴:關閉服務->跳過一條記錄->啟動服務->查看是否為yes,否:再次跳過一條記錄直到yes為止

mysql-> stop slave;                                                      
mysql-> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;       
mysql-> start slave;                                                      
mysql-> show slave status\G  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM