mysql client 升级_升级MySQL (参考MySQL官方文档)

介绍升级MySQL安装的步骤。

升级是一个常见的过程,因为可以在同一个MySQL版本系列中修复错误,或者在主要MySQL版本之间修复重要功能。

可以首先在一些测试系统上执行此过程,以确保一切正常工作,然后在生产系统上执行此过程。

注意

在下面的讨论中,必须使用具有管理权限的MySQL帐户运行的MySQL命令在命令行中包含-u root以指定MySQL root用户。

需要root用户密码的命令还包括-p选项。

一、写在开始之前

升级前请查看本节中的信息。执行任何建议的操作。

•通过创建备份来保护数据。备份应该包括mysql系统数据库,其中包含mysql系统表。

•查看发行说明以获取有关修复、更改和新功能的信息。

•升级过程因平台和初始安装的执行方式而异。使用适用于当前MySQL安装的过程:

•有关在非Windows平台上基于二进制和包的安装,请参阅MySQL官方文档第2.11.4节“在Unix/Linux上升级MySQL二进制或基于包的安装”。

注意

对于受支持的Linux发行版,升级基于包的安装的首选方法是使用MySQL软件存储库(MySQL Yum存储库、MySQL APT存储库和MySQL SLES存储库)。

•有关使用MySQL-Yum存储库在企业Linux平台或Fedora上的安装,请参阅MySQL官方文档第2.11.5节“使用MySQL-Yum存储库升级MySQL”。

•有关使用MySQL APT repository在Ubuntu上的安装,请参阅MySQL官方文档第2.11.6节“使用MySQL APT repository升级MySQL”。

•有关使用MySQL SLES存储库在SLES上的安装,请参阅MySQL官方文档第2.11.7节“使用MySQL SLES存储库升级MySQL”。

•有关使用Docker执行的安装,请参阅MySQL官方文档第2.11.9节“升级MySQL的Docker安装”。

•有关Windows上的安装,请参阅MySQL官方文档第2.11.8节“在Windows上升级MySQL”。

•如果您的MySQL安装包含大量数据,在in-place升级后转换可能需要很长时间,

那么创建一个测试实例来评估所需的转换以及执行转换所需的工作会是有必要的。要创建测试实例,

•在安装或升级到新版本的MySQL时,建议重新构建和重新安装MySQL语言接口。这适用于MySQL接口,如PHP MySQL扩展和Perl DBD::MySQL模块。

二、升级说明

•仅在一般可用性(GA)版本之间支持升级。

•支持从MySQL 5.6升级到5.7。建议在升级到下一版本之前先升级到最新版本。例如,在升级到MySQL 5.7之前,请先升级到最新的MySQL 5.6版本。

•不支持跳过版本的升级。例如,不支持直接从MySQL 5.5升级到5.7。

•支持在发行版系列中升级。例如,支持从MySQL 5.7.x升级到5.7.y。还支持跳过发布。例如,支持从MySQL 5.7.x升级到5.7.z。

三、MySQL 5.7中的更改

在升级到MySQL 5.7之前,请查看文描述的更改,以确定适用于当前MySQL安装和应用程序的更改。执行任何建议的操作。

标记为不兼容更改的指与早期版本的MySQL不兼容,升级前可能需要注意。目标是避免这些更改,但有时它们是必要的,可以纠正比版本之间比不兼容更糟糕的问题。

如果适用于当前安装的升级问题涉及不兼容,请按照说明进行操作。有时这涉及转储和重新加载表,或使用诸如CHECK TABLE或REPAIR TABLE之类的语句。

1> 配置更改

•不兼容的更改:从MySQL 5.7.12开始,默认的——--early-plugin-load为空。若要加载keyring_file插件,必须使用带有非空值的显式--early-plugin-load选项。

在MySQL 5.7.11中,默认的——-early-plugin-load值是keyring_file插件库文件的名称,因此默认情况下加载了该插件。InnoDB表空间加密要求在InnoDB初始化之前加载keyring_file插件,

因此这个默认值的改变——-early-plugin-load值引入了从5.7.11升级到5.7.12或更高版本的不兼容性。

加密了InnoDB表空间的管理员必须采取显式操作,以确保继续加载keyring_file插件:使用--early plugin load选项启动服务器,该选项命名插件库文件。

•不兼容的更改:INFORMATION_SCHEMA有包含系统和状态变量信息的表以及会话状态表)。从MySQL 5.7.6开始,Performance Schema还包含系统和状态变量表。

Performance Schema旨在替换INFORMATION_Schema表,从MySQL 5.7.6开始,INFORMATION_Schema表已被弃用,并将在以后的MySQL版本中删除。

有关从INFORMATION_SCHEMA迁移到Performance Schema tables的建议,为了帮助迁移,可以使用show_compatibility_56系统变量,

该变量将影响information_SCHEMA和Performance SCHEMA表以及show VARIABLES和show status语句如何提供系统和状态变量信息。

show_compatibility_56在5.7.6和5.7.7中默认启用,在MySQL 5.7.8中默认禁用。

•不兼容的更改:从MySQL 5.7.6开始,数据目录初始化只创建一个根帐户“root”@“localhost”。尝试连接到主机127.0.0.1通常会解析为本地主机帐户。但是,如果服务器在启用跳过名称解析的情况下运行,则此操作将失败。

如果打算这样做,请确保存在一个可以接受连接的帐户。例如,要能够使用--host=127.0.0.1或--host=::1以根用户身份连接,请创建以下帐户:

1 CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password';

2

3 CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password';

•不兼容的更改:从MySQL 5.7.6开始,对于某些Linux平台,当MySQL使用RPM和Debian包安装时,服务器的启动和关闭是使用systemd而不是mysqld-safe来管理的,mysqld-safe没有安装。

这可能需要对指定服务器选项的方式进行一些调整。

•不兼容的更改:在MySQL 5.7.5中,MySQL_install_db的可执行二进制版本位于bin安装目录中,而Perl版本位于scripts安装目录中。要从旧版本的MySQL升级,可以在两个目录中找到一个版本。

为了避免混淆,请删除脚本目录中的版本。对于新安装的MySQL 5.7.5或更高版本,MySQL_install_db只在bin目录中找到,而scripts目录不再存在。希望在脚本目录中找到mysql_install_db的应用程序应该更新为在bin目录中查找。

从mysql 5.7.6开始,mysql_install_db的位置就变得不那么重要了,因为在该版本中,mysqld--initialize(或mysqld--initialize unsecure)被弃用。

•不兼容的更改:在MySQL 5.7.5中,对SQL模式进行了以下更改:

•事务性存储引擎(Strict_TRANS_TABLES)的严格SQL模式现在默认启用。

•通过SQL模式实现的ONLY_FULL_GROUP_by变得更加复杂,不再拒绝以前被拒绝的确定性查询。因此默认情况下启用了ONLY_FULL_GROUP_BY,以禁止包含不能保证在组内唯一确定的表达式的不确定查询。

•对默认SQL模式的更改将导致启用以下模式时的默认SQL模式系统变量值:仅“完全”分组方式、“严格”传输表、无“引擎”替换。

•现在,ANSI-SQL模式中也包含了唯一的完整组模式。

2> 系统表更改

•不兼容的更改:mysql 5.7.6中删除了mysql.user系统表的Password列。所有凭据都存储在“authentication_string”列中,包括以前存储

你可能感兴趣的:(mysql,client,升级)