所有
我们的产品使用Mysql企业数据库。目前为5.5.42,但计划升级至5.7.latest。我应该看到哪些变化?
我对以下内容感兴趣:
1)性能影响
2)行为破碎
3)改变行为
4)改进 - 功能和性能方面
是否建议先将我们的产品升级到使用5.6.x然后再升级到5.7.x或直接升级到5.7.x然后从那里测试/ QA?任何输入都是有价值的。
答案 0 :(得分:3)
只有在高负载系统上才能实现5.7的性能提升。如果你的并行执行次数少于40-60次,那么预期小的性能会下降10%左右。这与系统和负载有关。总是测试自己! 以下是Percona完成的MySQL 5.7性能测试:https://www.percona.com/blog/2016/05/17/mysql-5-7-read-write-benchmarks/
5.7中有很多变化。请查看此链接以获取完整列表:http://www.thecompletelistoffeatures.com/
我想提到以下更改,在升级过程中应该考虑:
以下是影响升级到5.7的所有更改的概述: http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html
升级有两种方法:使用mysql_upgrade和mysqldump。
有关详细信息,请阅读:http://dev.mysql.com/doc/refman/5.7/en/upgrading.html
答案 1 :(得分:2)
5.5和5.7之间有很大的变化。在这里招募所有人都是不切实际的。我会尝试强调最重要的一些。显然还有很多new features introduced(GTID,半同步复制,JSON支持,虚拟列等)。
1)表现
您应该期待性能提升,因为5.6和5.7在互斥锁处理方面有很大改进,因此预计会有更少的争用。
此外,还进行了可扩展性改进,因此您可以进一步扩展服务器,并且性能/查询容量比以前更长。
优化器中有很多变化。因此,请务必检查您的查询。
在一天结束时,您应该始终使用自己的应用程序检查自己的案例。
2 + 3)改变和破坏的行为
密码到期。在5.7密码可以有到期时间。只是需要注意的事情。
密码管理命令已更改,因此请确保在您的自动化被破坏之前对其进行检查。
由于优化器和成本模型发生了很大变化,因此某些查询可能会以不同的方式执行。
我特别提到的两个参数给我们带来了一些麻烦:查看optimizer_switch
并确定你打开和关闭的内容。默认情况下,range_index_dive_limit
默认值在5.7.4+中从10提高到200。由于我发现很少在任何my.cnf中设置此参数,因此新的默认值可能会影响您的大量时间。
4)改进
很多。正如我上面所写,有很多新功能和可扩展性,性能改进旨在为您提供更好的服务。
5)升级路径
是的,最好一次进行一次重大升级,测试,当所有工作都可以进行第二次重大升级时。
答案 2 :(得分:0)
兼容性 - 升级时最关心的问题。因为您的代码/语法是使用较低版本制作的,所以期望它们的行为不同,因为其中一些将无效或无法使用较新版本识别(如果您跳转到更高版本,将会产生很大的影响)。 / p>
通常情况下,您可以使用较新版本获得更高的性能,安全性等,但您需要弯曲代码/语法以应对新功能和新功能。