ITPub博客

首页 > 数据库 > 数据库开发技术 > GitHub是怎样把MySQL 5.7升级到8.0的?

GitHub是怎样把MySQL 5.7升级到8.0的?

数据库开发技术 编辑:任朝阳 时间:2024-04-12 15:40:38 0 删除 编辑

去年(2023年10月25日),随着MySQL 5.7.44发布,宣告5.7正式停止开发和维护。

而不少企业选择把MySQL 5.7升级到8.0。

那么你所在的公司,现在使用了哪些MySQL版本呢?

GitHub也在去年把MySQL升级到了8.0。

他们分享了详细的升级过程,以及遇到的一些问题,地址如下:

https://github.blog/2023-12-07-upgrading-github-com-to-mysql-8-0/

我们就来总结一下大致步骤。

第一步

先升级部分副本,然后将部分只读流量切上去,也会保留足够的5.7副本,以方便回滚

第二步

如果只读流量经过8.0的验证,没问题,就调整复制拓扑为下图形式

一个8.0的候选,直接接在5.7主库后面

8.0的从库下游又创建两个复制链

一部分是5.7的从(暂时不提供查询,用来做回滚用的)

另外一部分是8.0的从,用来承担只读查询。

第三步

通过Orchestrator,执行failover将上图MySQL 8.0的从库提升为主。

这个时候,拓扑变成了一个8.0的主,它下游附带了两个复制链组:

一部分是5.7的从(暂时不提供查询,用来做回滚用的)。

另外一部分是8.0的从,用来承担只读查询。

并且Orchestrator还把5.7的主机列为故障转移的黑名单,防止发生切换的时候,又出现5.7的实例提升为主的情况。

第四步

升级其他用于备份或者非生产的实例

第五步

如果在8.0的版本下运行了足够长的时间(至少24小时),则把集群内5.7版本的MySQL全删除。

那么,你现在所在的公司,线上环境使用的是哪些MySQL版本呢?

来自 “ MySQL数据库联盟 ”, 原文作者:MySQL数据库联盟 ;原文链接:https://mp.weixin.qq.com/s/hURO4a-1-x-Uel7_fcy48g,如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
关注Data+AI等技术发展,也关注技术对人的影响。

注册时间:2019-05-27

  • 博文量
    2133
  • 访问量
    3709403