mysql 从数据库slave 状态为no的解决方法

从数据库的状态显示为如下
Slave_IO_Running: Yes
Slave_SQL_Running: No

有两种解决方法,网上很多解决方法写的都没有说清楚。特此说明一下
方法1:100%可行(手动处理)
首先到主数据库上执行如下的命令,如果你的系统暂时没有人访问,可以直接取下面命令输出的值,否则还是建议将master停掉(master stop)
show master status\G;

            File: mysqlbin.000039
        Position: 40739865
    Binlog_Do_DB: sso
Binlog_Ignore_DB: mysql,test
1 row in set (0.00 sec)

然后采用如下命令
   slave stop;
   change master to master_log_file='mysqlbin.000039', master_log_pos=40739865;
   slave start;

这个时候再看一下状态就正常了
网上有很多帖子都是写的
   change master to master_host='master_ip',master_user='user', master_password='pwd', master_port=3306, master_log_file='mysqlbin.000039', master_log_pos=135617781;

是没有必要重新指定host和user及pwd的

方法2:成功几率比较低

mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;

猜你喜欢

转载自sanniangmiao.iteye.com/blog/2115199