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日志。
➡️