MySQL双活数据一致性问题怎么解决?

MySQL数据库双活数据的一致性问题怎么解决?

参与29

3同行回答

冯帅冯帅数据库管理员贝壳金服
数据不一致是个很大问题,数据库双活情况下两份事务在本地和远端,两边分别执行这次事务,一般化不会有一致性问题的,但双活状态下,以保证数据一致性为前提,双活不意味着数据一致,所以,还需要灾备端一样要保留好多份快照以备不时之需,当然这是后话,数据事务的一致性,需要保证首先相同的...显示全部

数据不一致是个很大问题,数据库双活情况下两份事务在本地和远端,两边分别执行这次事务,一般化不会有一致性问题的,但双活状态下,以保证数据一致性为前提,双活不意味着数据一致,所以,还需要灾备端一样要保留好多份快照以备不时之需,当然这是后话,数据事务的一致性,需要保证首先相同的事务环境进行提交,保证两端的数据一致性,严格要求数据的绝对统一,如果出现数据不一致的情况,往往是灾难性的,特别是跟钱相关的尤为重要, 这个可能还包括后期的数据比对,数据修正,需要各方面协调工作。

收起
融资租赁 · 2017-10-19
浏览3892
liucj2004liucj2004其它undefined
使用pxc或者mgr,有高一致性的选项。在从节点执行完毕后返回主节点成功显示全部

使用pxc或者mgr,有高一致性的选项。在从节点执行完毕后返回主节点成功

收起
农业其它 · 2017-10-18
浏览3748
baizhaoxianbaizhaoxian联盟成员容灾备份管理工程师
主备数据不一致常见原因1 备库写数据   2 执行non-deterministic query   3 回滚掺杂事务表和非事务表的事务4 binlog或者relay log数据损坏应对措施1 禁止修改备库数据2 采用row-based replication3 避免同一个事务中同时引用innodb和myisam表4 开启binlog checksum...显示全部

主备数据不一致常见原因
1 备库写数据   
2 执行non-deterministic query   
3 回滚掺杂事务表和非事务表的事务
4 binlog或者relay log数据损坏
应对措施
1 禁止修改备库数据
2 采用row-based replication
3 避免同一个事务中同时引用innodb和myisam表
4 开启binlog checksum
其中binlog checksum是5.6引入的新功能,由参数binlog-checksum控制(默认关闭);
开启该功能后,master在写binlog event时同时记录checksum,slave读取relay log时对每个event执行checksum校验,如果失败则停止sql thread并报错。
master-verify-checksum:默认关闭,开启后主库会对每个binlog event进行checksum验证,如果失败则停止写入并报错;
slave_sql_verify_checksum:默认关闭,开启后备库读relay log时会对每个event进行checksum验证;

收起
互联网服务 · 2017-10-20
浏览3742
彬彬 邀答

提问者

Gang
系统运维工程师中金云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-10-18
  • 关注会员:4 人
  • 问题浏览:7098
  • 最近回答:2017-10-20
  • X社区推广