升级到MySQL 8没人喜欢变化,尤其是当这个改变可能是具有挑战性的。当面对的技术挑战,我尝试记住从西奥多·罗斯福这样的评论:“世界上没有什么是值得拥有的或值得做,除非它意味着努力,痛苦、困难。“虽然这有点夸张,在这种情况下,主要的概念仍然是有效的。我们不应该回避升级路径,因为它是非常困难的。

MySQL 8.0是成熟和稳定。有新功能(太多的列表在这里)和性能改进。越来越多的组织正在升级到MySQL 8在生产和运行它,它加快了稳定。虽然仍有一些重要的跑道上5.7,这绝对是稳定的(EOL定于2023年10月),组织需要准备跳如果他们还没有。

改变了什么?

怎么是一个重大升级到8.0不同于过去几年?实意并不是很不同。应用了相同的一般过程:

  1. 在一个较低的环境中升级
  2. 测试,测试,然后测试
  3. 升级一个复制品,并开始发送交通阅读
  4. 促进初级的复制品
  5. 根据需要准备回滚

最后的重点是最大的变化,特别是当你已经完成了升级到MySQL 8。从历史上看,小版本升级相当简单。一个简单实例停止,二进制交换,和实例开始足以恢复到以前的版本。

在8.0中,这个过程是不再支持(如前所述官方文档):

“从MySQL 8.0到MySQL 5.7降级,或从一个MySQL 8.0版本前一个MySQL 8.0版本,不支持”。

发布模式,这是一个明确的变化和它已经显示出真正的问题在小版本。的一个很好的例子,如何影响生活系统在博客中被捕MySQL 8小版本升级只是单向的f罗2020年初。

如何处理升级到MySQL 8

通过这种新的范式,看起来可怕的推进与升级。我认为在某种程度上,它可以是一个积极的改变。正如上面提到的,适当的准备和测试应该大部分的过程。实际的升级/转换本质上应该是一个无效的事件。没有DBA喜欢超过敲定升级没人注意到(除了任何潜在的改进)。

不幸的是,在实践中,适当的测试和准备通常是马后炮。多么简单的升级(尤其是回滚),通常容易只是“试一试,如果需要回滚”。降级不再是微不足道的,这应被视为一个绝佳的机会来提高升级的准备阶段。

一些额外的重点应该放在:

  • 评估任何潜在变更的详细版本注释(新特性也有时8.0中默认启用)。
  • 测试系统的应用程序流量(基准是不错,但毫无意义,如果他们是通用的)
  • 固化的备份和恢复过程(这已经是完美的,对吧?)
  • 回顾自动化(这意味着没有更多自动化的“沉默”的升级)
  • 实际的升级过程(从底部的回滚如果需要复制链和维护副本)

有这么多强调准备,我们应该希望开始看到实际的升级变得不那么有效。它还应该灌输整个组织更有信心。

“大规模”呢?

曾与广泛的客户TAM,我见过环境,从一个主要/副本对1000年代的服务器。我坦率地承认,完成一个主要版本升级10000台服务器是不平凡的。最痛苦的事莫过于需要回滚5000台服务器的时候出现中途升级过程。虽然没有大量的测试可以完全消除这种可能性,我们可以努力减少风险。

在这个规模,测试实际的交通模式是更重要的。当你看着复杂的环境和工作负载,达到绝对优势情况下增加的可能性。较低的环境中识别这些边界情况平稳过程的生产是至关重要的。同样,确保流程和剧本存在回滚(事件出现问题)是至关重要的。

最后,部署升级阶段也很重要。假设您已经监控等raybet雷竞技竞猜在线官网raybetapp官方下载 到位,A / B测试和比较来说是无价的。X和Y看到版本相同的仪表板服役时交通允许适当的比较。比较X在分段Y在生产中是很重要的,但有时会误导。

结论

总的来说,升级到MySQL 8并不不同于以前的版本。额外需要注意在准备阶段,但应被视为一个积极的整体。我们绝对不应该回避的变化,而是拥抱它,因为它最终需要发生。最糟糕的事情是继续踢沿路然后时间紧迫5.7生物方法。

巩固准备阶段和测试,丢失的工具,你觉得是什么?会更容易准确地再现交通对测试实例?虽然有工具,这将有助于确保遵循这些最佳实践?

如果您的组织需要准备或完成升级,帮助我们专业服务团队可以是一个伟大的资产。同样,我们的支持工程师可以帮助你的团队,你测试的边界情况。

最后,最重要的战略升级时:只读的星期五应该是你的剧本!

发现Percona可以帮助雷竞技下载官网缓解你的升级到MySQL 8.0

2评论
最古老的
最新的 大多数投票
内联反馈
查看所有评论
约翰

你的文章是非常有益的和有用的。我们有一些剩余的主/备份mysql实例,但是现在我们大部分的环境转换为使用PXC集群。我们如何才能PXC节点升级到8。而剩下的集群是5. x。它似乎是不可能的。

所以至少在最初的跳转到8。x似乎我们面对创建三个新的5 t节点和使一个副本,然后切割到新的集群。什么是痛苦。

至少一次我们最初的跳转到8。x我们应该能够拿出一个5 t节点,升级到8. x。y,看看它打破任何东西在我们整个集群升级。当然总有机会我们都错了。然后什么?