千家信息网

mysql设置双1保证数据库一致性

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,在MySQL中,一次事务提交后,需要写undo、写redo、写binlog,写数据文件等等。在这个过程中,可能在某个步骤发生crash,就有可能导致主从数据的不一致。为了避免这种情况,我们需要调整主从
千家信息网最后更新 2025年01月28日mysql设置双1保证数据库一致性

在MySQL中,一次事务提交后,需要写undo、写redo、写binlog,写数据文件等等。在这个过程中,可能在某个步骤发生crash,就有可能导致主从数据的不一致。为了避免这种情况,我们需要调整主从上面相关选项配置,确保即便发生crash了,也不能发生主从复制的数据丢失。

1. 在master上修改配置
innodb_flush_log_at_trx_commit = 1sync_binlog = 1

上述两个选项的作用是:保证每次事务提交后,都能实时刷新到磁盘中,尤其是确保每次事务对应的binlog都能及时刷新到磁盘中,只要有了binlog,InnoDB就有办法做数据恢复,不至于导致主从复制的数据丢失。

2. 在slave上修改配置
master_info_repository = "TABLE"relay_log_info_repository = "TABLE"relay_log_recovery = 1

上述前两个选项的作用是:确保在slave上和复制相关的元数据表也采用InnoDB引擎,受到InnoDB事务安全的保护,而后一个选项的作用是开启relay log自动修复机制,发生crash时,会自动判断哪些relay log需要重新从master上抓取回来再次应用,以此避免部分数据丢失的可能性。

通过上面几个选项的调整,就可以确保主从复制数据不会发生丢失了。但是,这并不能保证主从数据的绝对一致性,因为,有可能设置了ignore\do\rewrite等replication规则,或者某些SQL本身存在不确定因素,或者人为在slave上修改数据,最终导致主从数据不一致。这种情况下,可以采用pt-table-checksum 和 pt-table-sync 工具来进行数据的校验和修复。


http://edu.51cto.com/center/course/lesson/index?id=184082

数据 主从 事务 一致 作用 配置 保证 两个 情况 磁盘 调整 一致性 安全 再次 办法 可能性 因素 实时 工具 引擎 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中信银行软件开发上班穿西装 甘肃高性能服务器供应厂家 天水林校专业计算机网络技术 浙江网络技术开发指导 苏州电子网络技术包括什么 国家网络安全宣传周视频 广州 执道网络技术有限公司 数据库创建表格的步骤 广电总局网络安全管理 太原互联网科技有限公司 软件开发团队安全口号 定位服务器连接电脑 金山区新能源软件开发销售价格 五指山法院网络安全建设 数据库中的更新异常指什么 软件开发师的晋升空间 造成网络安全问题发生的根本原因 服务器往返行程的意思 软件开发专业资格 购买数据库系统的账务处理 洛神游戏服务器还有吗 小视频剪辑软件开发 数据库关系代数没有怎么表示 声纹数据库 linux服务器攻击 pc时间同步服务器 太原互联网科技有限公司 数据库远程方关闭传输流 知识图谱数据库数据如何更新 服务器开外网怎样才安全
0