揭秘MySQL主从数据不一致

发布时间:2020-07-27 09:01:21 作者:wangkunj
来源:网络 阅读:265

前言:

目前MySQL数据库最常用的是主从架构,大多数高可用架构也是通过主从架构演变而来。但是主从架构运行时间长久后容易出现数据不一致的情况,比如因从库可写造成的误操作或者复制bug等,本篇文章将会详细探究出现主从不一致及如何解决这种问题。

1.造成主从不一致的原因

造成主从不一致的可能原因有很多,下面简单列举几条:

2.主从不一致修复方法

下面介绍下主从不一致的修复方法,注意,这里讲的是修复主从不一致而不是修复主从同步错误。

想要修复主从不一致,我们首先要发现主从不一致,下面将根据不同情形给出合适的修复方法。

第一种情况:比如说执行脚本时,为了更快的执行完,在脚本里增加了set sql_log_bin=0。那么这个脚本的所有数据变更将无法应用到从库,这个时候主从数据就不一致了,解决的方法是先停掉主从复制,然后手动在从库执行下这个脚本,最后开启主从复制即可。

第二种情况:可能你的从库并未设置只读,同事因不太清楚架构,误操作导致在从库做了数据写入,这种情况应该及时反馈并解决。解决方法:如果这些语句确实需要执行,则可以在主库先执行set sql_log_bin=0,然后再执行语句;如果不需要执行这些语句,则需要在从库上回滚掉先前的误操作。

不过有时候情况并不是那么简单,可能遇到比较多的情况是:主从两个实例已经运行很久了,某日进行一致性检验发现主从不一致了,很难找到具体发生不一致的原因及时间。那么这个时候应该怎么办呢,有人说,从库重做一遍,虽然这也是一种解决方法,但是这个方案恢复时间比较慢,而且有时候从库也是承担一部分的查询操作的,不能贸然重建。下面重点讲下这种情况下的修复方法。

可能还有其他修复方法,比如用Navicat等工具进行比对同步,不过这类工具只适用于小数据量,当有上千万数据时,再用这种方法就不现实了。你有没有类似经验呢,也可以留言分享下。

3.如何避免主从不一致

通过上面的介绍,可能你也大概知道了修复并不容易,所以我们要从源头上避免,那么我们该如何避免主从不一致的情况呢,下面给出几个建议,希望对你有用。

总结:

本篇文章详细介绍了造成主从不一致的原因,修复不一致的方法及如何避免主从不一致。特别是不一致修复方法,可能还有其他方案,这个要考虑实际情况选择合适的方法修复。原创不易,希望大家多多支持。

推荐阅读:
  1. 【揭秘】学好大数据之后究竟能做什么?
  2. 揭秘生成配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql 一致 数据不一致

上一篇:软件测试的方法-------基于直觉和经验的方法

下一篇:.Net--协变、逆变

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》