mysql db enterprise从5.5.42升级到5.7.11

时间:2016-06-14 08:49:37

标签: mysql upgrade dbmigrate

所有

我们的产品使用Mysql企业数据库。目前为5.​​5.42,但计划升级至5.7.latest。我应该看到哪些变化?

我对以下内容感兴趣:
1)性能影响
2)行为破碎
3)改变行为
4)改进 - 功能和性能方面

是否建议先将我们的产品升级到使用5.6.x然后再升级到5.7.x或直接升级到5.7.x然后从那里测试/ QA?任何输入都是有价值的。

3 个答案:

答案 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/

我想提到以下更改,在升级过程中应该考虑:

  1. SQL_MODE已更改。它适用于新安装,但对于旧系统,您可能必须将其重新设置为旧值。
  2. 第一次GA发布时密码有效,但投诉后在5.7.11中被禁用。所以现在没什么值得担心的。
  3. SQL优化器发生了很大变化。查询应该现在运行得更快,但我预计,有些可能会运行得更慢。花在查询测试新版本上的时间最多!
  4. 以下是影响升级到5.7的所有更改的概述: http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html

    升级

    升级有两种方法:使用mysql_upgrade和mysqldump。

    1. 使用mysql_upgrade一次使用一个版本。没有必要测试中间版本。仅测试最终版本。
    2. 使用mysqldump直接转到5.7。建议跳过 mysql 数据库。用户无法使用mysqldump进行迁移,请使用grant语句。
    3. 有关详细信息,请阅读: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>

通常情况下,您可以使用较新版本获得更高的性能,安全性等,但您需要弯曲代码/语法以应对新功能和新功能。