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

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

3回答

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

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

收起
 2017-10-19
浏览1493
undefinedundefined  其它 , undefined
howardlee0509努力呀iamkuboy等赞同了此回答
使用pxc或者mgr,有高一致性的选项。在从节点执行完毕后返回主节点成功显示全部

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

收起
 2017-10-18
浏览1455
baizhaoxianbaizhaoxian  数据库架构师 , 万国数据服务有限公司
iamkuboyhowardlee0509王磊磊赞同了此回答
主备数据不一致常见原因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
浏览1423
彬彬 邀答

提问者

Gang系统运维工程师, 中金云

问题状态

  • 发布时间:2017-10-18
  • 关注会员:4 人
  • 问题浏览:4017
  • 最近回答:2017-10-20
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30