原标题:告诉你,MySQL 5.7升级到MySQL 8.0的注意事项-爱可生
引言
近期项目进行MySQL 5.7.21到MySQL 8.0.13的升级测试,采用逻辑升级,配置文件来自于生产环境。在初始化MySQL 8.0时,初始化命令秒级完成,而数据目录却是空的,执行初始化操作的shell窗口也没有任何的报错提示。
通过翻阅官方手册发现MySQL 8.0.13中NO_AUTO_CREATE_USER这种sql_mode已经废弃,而配置文件的sql_mode有这个配置项,最终导致了实例初始化失败。为了减少升级过程中出现类似问题,因此对MySQL 5.7到8.0的升级进行部分整理,主要包括:升级对MySQL版本的要求、升级都做了哪些内容、数据库升级做了哪些步骤以及注意事项。
升级要求
MySQL 5.7升级到MySQL 8.0,要求MySQL5.7的版本是MySQL 5.7.9或者更高的GA版
不支持跨版本升级
升级内容
升级数据字典表的版本
升级MySQL server 版本,主要包括system表以及其他schema对象
升级步骤
升级数据字典,这个阶段主要升级MySQL库的数据字典表。数据字典的升级在数据库服务启动过程自动完成。
升级MySQL库的系统表(剩余的非字典表);升级Performance schema、 information schema