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  
posted @ 2020-09-21 16:56  懒人福利  阅读(1869)  评论(0编辑  收藏  举报