本文實(shí)例講述了mysql 主從數(shù)據(jù)不一致,提示: Slave_SQL_Running No 的解決方法。,具體如下:
在slave服務(wù)器上通過(guò)如下命令
mysql> show slave status/G;
顯示如下情況:
Slave_IO_Running: Yes
Slave_SQL_Running: No
表示slave不同步
解決方法一(忽略錯(cuò)誤,繼續(xù)同步):
1、先停掉slave
mysql> stop slave;
2、跳過(guò)錯(cuò)誤步數(shù),后面步數(shù)可變
mysql> set global sql_slave_skip_counter=1;
3、再啟動(dòng)slave
mysql> start slave;
4、查看同步狀態(tài)
mysql> show slave status/G;
解決方法二(重新做主從,完全同步):
1、先進(jìn)入主庫(kù)進(jìn)行鎖表,注意窗口不要關(guān)閉
mysql> flush table with read lock;
2、把數(shù)據(jù)進(jìn)行備份
> mysqldump -uroot -p --opt -R 數(shù)據(jù)庫(kù) > /data/bak.sql
3、再新開個(gè)窗口,查看主數(shù)據(jù)庫(kù)信息
mysql> show master status;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| mysql-bin.000005 | 1158 | | | |+------------------+----------+--------------+------------------+-------------------+
4、在從庫(kù)上停止slave
mysql> stop slave;
5、導(dǎo)入備份的數(shù)據(jù)文件
mysql> source /data/bak.sql
6、重置同步
mysql> reset slave;
7、重新設(shè)置同步節(jié)點(diǎn)
mysql> CHANGE MASTER TOMASTER_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請(qǐng)根據(jù)你的主庫(kù)設(shè)置相應(yīng)修改,log_file和log_pos根據(jù)主庫(kù)中master status相應(yīng)修改。
8、開啟slave
mysql> start slave;
9、查看slave狀態(tài)
mysql> show slave status/G;
顯示如下信息則表示正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
10、對(duì)主數(shù)據(jù)庫(kù)解鎖
mysql> unlock tables;
11、再次在主庫(kù)中添加或修改數(shù)據(jù),看從庫(kù)數(shù)據(jù)是否同步。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》
新聞熱點(diǎn)
疑難解答
圖片精選