MySQL5.7升级到8.0过程详解
1.升级前准备及注意事项
首先,我们要大概了解下MySQL5.7和8.0有哪些不同,参考官方文档和其他网友文章,概括总结出MySQL8.0以下几点新特性:
•默认字符集由latin1变为utf8mb4。
•MyISAM系统表全部换成InnoDB表。
•JSON特性增强。
•支持不可见索引,支持直方图。
•sql_mode参数默认值变化。
•默认密码策略变更。
•新增角管理。
•支持窗口函数,支持Hash join。
根据版本变化及官方升级教程,列举出以下几点注意事项:
•注意字符集设置。为了避免新旧对象字符集不一致的情况,可以在配置文件将字符集和校验规则设置为旧版本的字符集和比较规则。
•密码认证插件变更。为了避免连接问题,可以仍采用 5.7的mysql_native_password认证插件。
mysql下载安装教程步骤•sql_mode支持问题。8.0版本sql_mode不支持NO_AUTO_CREATE_USER,要避免配置的sql_mode中带有NO_AUTO_CREATE_USER。
•是否需要手动升级系统表。在MySQL 8.0.16版本之前,需要手动的执行mysql_upgrade来完成该步骤的升级,在MySQL 8.0.16版本及之后是由mysqld来完成该步骤的升级。
2.具体升级过程
下面以Linux系统为例,展示下具体升级过程。我的系统是CentOS7.7,原版本是MySQL5.7.23,以In-Place方式直接升级到MySQL8.0.19。
2.1 下载解压安装包
下载对应版本的tar包,可通过wget下载或者本地下载后上传。
下载地址:
sql/archives/community/
选择mysql-8.0.19-linux-glibc2.12-x86_
执行以下步骤解压tar包:
2.2 更改配置文件myf
因5.7版本与8.0版本参数有所不同,为了能顺利升级,我们需要更改部分配置参数。主要注意sql_mode、basedir、密码认证插件及字符集设置,其他参数最好还是按照原5.7的来,不需要做调整。下面展示下更改后的配置文件:
2.3 执行升级程序
所有前置工作准备好后就可以开始正式升级了,不过升级前还是建议先全库备份下。万事俱备后,按照如下指示进行正式升级。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论