记一次mysql主从关系修复过程

1.故事背景

今天在使用sharding时,突然发现sharding服务居然启动不起来了。只好去查看日志,查看日志后发现报错信息为从库无法连接。

然后,就开始对比主从库的结构,然后发现主从库结构已经不一致了,然后手动执行建库sql后,从库也无法同步,所以只好查看下从库的状态。

利用mysql客户端连接从库,然后执行show slave status\G命令后错误内容如下:

      Replicate_Wild_Ignore_Table:

                   Last_Errno: 1049

                   Last_Error: Error 'Unknown database 'hasSharding_0'' on query. Default database: 'mysql'. Query: 'create table hasSharding_0.test_user22 (

   id int primary key,

   name varchar(128)

)'

 从上述内容中可以看出,从库上出现了无法执行的sql,所以初步判断主从连接应该没有断开,问题是sql出错了。

 

2.解决过程

既然是sql报错,那么我们需要做的就是让报错的sql成功执行即可,因为现在这个状态类似于是从库sql阻塞了,所以我们需要让报错的sql成功执行,然后这种阻塞的情况就能被疏通了,主从同步状态也能恢复正常了。

所以,首先是分析报错情况,提示的是没有hasSharding_0这个数据库导致无法建表,所以我们需要做的就是建好hasSharding_0这个名称的库也就是:

 

Create databse hasSharding_0;

 

然后执行stop slave;

最后执行start slave;即可

这个时候我们可以再次输入show slave status;查看从节点状态。

如果内容中出现了Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it,那么说明成功修复了。如果还有报错信息,就需要继续操作。

 

3.总结

多利用mysql本身的提示信息去修复问题,不要自己去瞎尝试,不然效率很低。而且需要多注意磁盘空间,磁盘空间满了就会导致主从数据无法同步,从而产生错误和阻塞。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值