千家信息网

如何理解slave库写redo、binlog不实时丢数据的场景

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,如何理解slave库写redo、binlog不实时丢数据的场景,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.slave涉及相关文件s
千家信息网最后更新 2025年02月01日如何理解slave库写redo、binlog不实时丢数据的场景

如何理解slave库写redo、binlog不实时丢数据的场景,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1.slave涉及相关文件

  slave读取master的binlog日志后,需要落地3个文件:relay log、relay log info、master info:

relay log: 即读取过来的master的binlog,内容与格式与master的binlog一致
relay log info: 记录SQL Thread应用的relay log的位置、文件号等信息
master info: 记录IO Thread读取master的binlog的位置、文件号、延迟等信息

如果当这3个文件如果不及时落地,则主机crash后会导致数据的不一致。

2.信息存储方式

在MySQL 5.6.2之前,slave记录的master信息以及slave应用binlog的信息存放在文件中,即master.info与relay-log.info。在5.6.2版本之后,允许记录到table中,参数设置如下:

master-info-repository = TABLE
relay-log-info-repository = TABLE


对应的表分别为mysql.slave_master_info与mysql.slave_relay_log_info,且这两个表均为innodb引擎表。


3.控制刷新参数


relay log、relay log info与master info还有3个参数控制刷新:

?sync_relay_log:默认为10000,即每10000次sync_relay_log事件会刷新到磁盘。为0则表示不刷新,交由OS的cache控制。
?sync_relay_log_info:若relay_log_info_repository为FILE,当设置为0,交由OS刷新磁盘,默认为10000次刷新到磁盘;若relay_log_info_repository为TABLE,且为INNODB存储,则无论为任何值,则都每次evnet都会更新表。
?sync_master_info:若master-info-repository为FILE,当设置为0,则每次sync_master_info事件都会刷新到磁盘,默认为10000次刷新到磁盘;若master-info-repository为TABLE,当设置为0,则表不做任何更新,设置为1,则每次事件会更新表 默认为10000


4.建议参数设置

sync_relay_log = 1
sync_master_info = 1
sync_relay_log_info = 1
master-info-repository = TABLE
relay-log-info-repository = TABLE


当这样设置,导致调用fsync()/fdatasync()随着master的事务的增加而增加,且若slave的binlog和redo也实时刷新的话,会带来很严重的IO性能瓶颈。

看完上述内容,你们掌握如何理解slave库写redo、binlog不实时丢数据的场景的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

文件 信息 磁盘 参数 实时 数据 事件 内容 控制 更新 场景 一致 位置 方法 更多 问题 存储 应用 落地 束手无策 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 从特征上看 网络安全除包含 对电力网络安全形势的认识 数据库基本表中电话的数据类型 sql同步数据库 画饭圈乱象绘网络安全宣传画 海天服务器报警OL3 数据与事实性数据库的特点 捷成股份网络安全最新消息 大数据MP3保存数据库 服务器电源是恒流吗 软件开发助理工程师java 华为账号服务器怎么换 网络技术 数据库技术选哪个 互联网时代是科技革命 鹤壁app软件开发多少钱 个人怎样理解网络技术专业 元气骑士服务器错误怎么弄 苹果网络技术支持 数据库的技术核心是什么 成都打车有什么软件开发 弱电工程服务器专业维修 怎么将文件传到腾讯云服务器 网络安全部门 格局 青岛大学网络安全知识竞赛 网络安全教育手抄报简单 软件开发信息安全技术服务 魔兽世界盗贼搬砖服务器推荐 qq机器人词库数据库绿色最新版 数据库都有什么管理软件 深圳办公软件开发招聘
0