mysql 主从数据不一致,提示: Slave_SQL_Running: No 的解决方法
本文实例讲述了mysql主从数据不一致,提示:Slave_SQL_RunningNo的解决方法。分享给大家供大家参考,具体如下:
在slave服务器上通过如下命令
mysql>showslavestatus\G;
显示如下情况:
Slave_IO_Running:Yes
Slave_SQL_Running:No
表示slave不同步
解决方法一(忽略错误,继续同步):
1、先停掉slave
mysql>stopslave;
2、跳过错误步数,后面步数可变
mysql>setglobalsql_slave_skip_counter=1;
3、再启动slave
mysql>startslave;
4、查看同步状态
mysql>showslavestatus\G;
解决方法二(重新做主从,完全同步):
1、先进入主库进行锁表,注意窗口不要关闭
mysql>flushtablewithreadlock;
2、把数据进行备份
>mysqldump-uroot-p--opt-R数据库>/data/bak.sql
3、再新开个窗口,查看主数据库信息
mysql>showmasterstatus; +------------------+----------+--------------+------------------+-------------------+ |File|Position|Binlog_Do_DB|Binlog_Ignore_DB|Executed_Gtid_Set| +------------------+----------+--------------+------------------+-------------------+ |mysql-bin.000005|1158|||| +------------------+----------+--------------+------------------+-------------------+
4、在从库上停止slave
mysql>stopslave;
5、导入备份的数据文件
mysql>source/data/bak.sql
6、重置同步
mysql>resetslave;
7、重新设置同步节点
mysql>CHANGEMASTERTO 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根据主库中masterstatus相应修改。
8、开启slave
mysql>startslave;
9、查看slave状态
mysql>showslavestatus\G;
显示如下信息则表示正常
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
10、对主数据库解锁
mysql>unlocktables;
11、再次在主库中添加或修改数据,看从库数据是否同步。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。