GitHub.com跑了1200多台MySQL主机,如何无缝升级到8.0?

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

GitHub团队分享了将GitHub.com的底层数据库升级到MySQL 8.0的经验。升级过程持续一年多,涉及1200多台主机。升级计划分为五个步骤,包括升级滚动副本、备份拓扑和将MySQL 8.0主机提升为主集群等。升级的原因是MySQL 5.7的生命周期即将结束,而MySQL 8.0提供了最新的安全补丁、错误修复和性能增强。

🎯

关键要点

  • GitHub团队分享了将GitHub.com的数据库升级到MySQL 8.0的经验。
  • 升级过程持续一年多,涉及1200多台主机,需多个团队协作。
  • GitHub的MySQL基础设施由1200多台主机组成,存储超过300 TB的数据。
  • 每秒处理550万次查询,配置为高可用性主副设置。
  • 使用水平和垂直分片扩展MySQL集群,并为大结构域提供Vitess集群。
  • 内部工具和自动化设施需兼容处理MySQL 5.7和8.0的混合版本。
  • 逐步升级策略满足可用性标准,包括checkpoint和回滚需求。
  • 升级计划包括五个步骤:升级滚动副本、备份拓扑、提升主集群、升级内部实例、清理和验证。
  • 升级到MySQL 8.0的原因是5.7生命周期结束,获得最新安全补丁和性能增强。
  • 希望测试8.0的新功能,如即时DDL、隐形索引和压缩的bin日志。
➡️

继续阅读