高手问答第 261 期 —— 关于 MySQL 主从相关

白开水不加糖 发布于 2021/04/19 10:00
阅读 11K+
收藏 18

在超大规模流量的分布式系统环境下,无论是从系统性能的角度,还是从数据安全性的角度,掌握MySQL主从原理,都是当下技术人员的必备基本功。MySQL主从原理是高可用架构的基石,即便是MGR这种集群架构也可以看到主从的影子。要解决一个问题或者故障,最快的方式就是了解它的原理,快速定位问题。

OSCHINA 本期高手问答(6 月 7 日- 6 月 13 日)我们请来了@高鹏-八怪 和大家一起探讨关于 MySQL 主从相关的问题。可讨论的问题包括但不限于:

  • MySQL binlog 解析
  • MySQL 异步主从
  • MySQL 增强半同步
  • MySQL 性能诊断方法论

或者其它关于 MySQL 相关问题,也欢迎大家积极提问!

嘉宾简介

高鹏(网名八怪),《深入理解MySQL主从原理》图书作者,现任中亦安图科技有限公司数据库专家,2008年开始从事Oracle/MySQL相关工作,Oracle OCM,MySQL 源码爱好者,有丰富的数据库性能调优,故障诊断经验。

为了鼓励踊跃提问,@博文视点  会在问答结束后从提问者中抽取 5 名幸运会员赠予《深入理解 MySQL 主从原理》一书。

购买链接:https://item.jd.com/13157978.html

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就相关问题向 @高鹏-八怪  老师提问,直接回帖提问即可。

-------------------------------------------------------------------------------------------------------------------------

下期预告: 高手问答第 262 期邀请到了  eBay 资深架构师和大家一起探讨关 K8s 相关的问题。

以下是问题补充:

@大盘:看不到评论了!!!这?? (2021/04/28 17:08)
@gm100861:讨论啥?讨论都看不到!!! (2021/05/20 14:37)
加载中
1
白开水不加糖
白开水不加糖

高手问答第 261 期 —— 关于 MySQL 主从相关

@Morty_a@暗香去@noday@贺小皮蛋@lyle_luo

恭喜以上五位网友分别获得 《深入理解 MySQL 主从原理》图书一本
请私信 @白开水不加糖   告知快递信息(格式:姓名+电话+地址)

3
enable-
enable-

@高鹏-八怪  

  高鹏老师好  在传统的主从复制里面,当发生故障,需要 主从切换 ,需要找到 Binlog 和 位点信息,恢复完成数据之后将主节点指向新的主节点 ,从  5.6.5  后新增了  基于 GTID 的复制,想了解一下对于 异地多活 产生的 数据时延,数据冲突,数据回环,有哪些成熟的解决方案呢

 

高鹏-八怪
高鹏-八怪
GTID只是在主库binlog的定位的时候,通过GTID是寻址定位拉取的位置,这带来了很大便利, 也是MGR实现的基础,但是在定位之后DUMP IO SQL线程等需要做的工作和传统的position方式 差别不大。另外使用GTID在主从配置安全方面也得到了增强,合理的配置参数可以降低异常重启 数据冲突的可能,这一点在书中进行了详细描述。数据延迟方面可以参考下面的回答。
0
屮殖
屮殖

@高鹏-八怪 问个门外汉的问题:MySql有没有哪种不需要安装能直接拉起来就能用的”迁移“或者说”口袋“版本?

开源中国首席生物学家
开源中国首席生物学家
用docker 和数据卷 不是分分钟迁移吗
高鹏-八怪
高鹏-八怪
Sandbox?
0
暗香去
暗香去
@高鹏-八怪 ,高老师好。请问生产环境中,应该从哪几个方面入手,达到降低MySQL主从延迟的目的?
高鹏-八怪
高鹏-八怪
大事务造成的延迟 大表DDL造成的延迟 表没有合理的使用主键或者唯一键造成的延迟 sync_relay_log参数问题 长期未提交的事务可能造成延迟瞬间增加 这些是主要原因,当然如果我们都是一些OLTP小事务,可以考虑开启从库MTS,可以查看binlog的last commit来决定是否开启MTS
0
cielSwift
cielSwift
有没有什么Java框架和库可以模拟MySQL从库,读取binlog日志。
高鹏-八怪
高鹏-八怪
回复 @seedscoder :otter
seedscoder
seedscoder
alibaba canal
0
mickelfeng
mickelfeng

@高鹏-八怪 mysql在中小企业的应有案例有吗?

0
noday
noday

@高鹏-八怪 上面看到了:MySQL 异步主从、MySQL 增强半同步这两种分别适合什么场景?使用上有什么要注意?

高鹏-八怪
高鹏-八怪
对于金融数据来讲我们一般需要使用到增强半同步,意义在于能够保证binlog落盘到从库的relay log,并且常见的MHA等高可用构架也需要配合增强半同步。异步复制一般在灾备场景使用居多。当然增强半同步在热点数据(平凡修改某一条或者一批数据)上需要注意,性能衰减可能达到50%,这是用于增强半同步在commit的sync后传输和获取ACK的原因,这个时候数据还上有row lock。另外就是网络延迟方
0
开源动弹广州分弹

@高鹏-八怪 mysql弹性伸缩的有比较理想的解决方案吗,或者有服务商提供不错的伸缩服务?

0
大盘
大盘

@高鹏-八怪  有MYSQL 5.7 的配置优化文件my.cnf吗?在那能看到?

0
zhangsli
zhangsli

@高鹏-八怪 如何做好动态扩容

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部