MySQL Shell提供了一套工具集,用户可以利用这套工具集完成不同的MySQL 任务。在这一篇文章里,将为读者介绍升级检查器。
用户可以使用升级检查器来检查MySQL 5.7服务器实例,以及MySQL 8.0服务器实例与最新MySQL 8.0版本的兼容性错误和升级问题。在这里再次强调一下,使用MySQL 5.7的用户,你的MySQL该 升级 了。按照目前制定的产品生命周期计划,MySQL 5.7在明年10月份之后不再提供任何补丁代码,届时如果遇到安全问题,将会影响到系统的安全性。
升级检查器可以检查服务器实例的配置文件(my.cnf或my.ini)。如果存在现有的配置文件中已经定义,但在目标服务器版本中被删除的任何系统变量,或者现有的配置文件中没有定义,但在目标MySQL服务器版本中具有不同默认值的任何系统变量。升级检查器将列出相关信息。
升级检查器可以生成默认格式的输出,也可以生成JSON格式的输出,使用JSON格式可能更容易进行自动化的解析和处理。
使用该工具时,只需在MySQL Shell中执行:
util.checkForServerUpgrade (ConnectionData connectionData, Dictionary options)
注意选项部分,第一个选项用于提供连接至MySQL实例的信息,第二个选项以字典的形式提供,包括目标版本、配置路径及输出格式等内容。
举一个例子:
MySQL localhost:3310 ssl JS > util.checkForServerUpgrade('root@localhost:3310',{"targetVersion":"8.0.28"})
可以看到,从8.0.20升级至8.0.28是不存在不兼容现象的。
再举一个5.7的:chestnut::
MySQL localhost:3306 JS > util.checkForServerUpgrade('root@localhost:3306',{"targetVersion":"8.0.28"})
从输出报告可以看出,升级检查器在21个方面进行了检查,最终得出一个警告信息和一个提示。
通过以上的例子,读者可以发现,MySQL Shell提供的升级检查工具能够帮助用户检测版本兼容性,减轻升级工作负担。