1. MYSQL5.7.22升级8.0.x
文章目录
- 1. MYSQL5.7.22升级8.0.x
-
- 1.1. 准备升级安装
-
- 1.1.1. 不得出现以下问题
- 1.1.2. 必须没有使用没有本机分区支持的存储引擎的分区表
- 1.1.3. MySQL 8.0中可能会保留一些以前未保留的关键字
- 1.1.4. MySQL 5.7 mysql系统数据库中必须没有与MySQL 8.0数据字典使用的表同名的表
- 1.1.5. 必须没有具有超过64个字符的外键约束名称的表
- 1.1.6. 必须不是sql_mode系统变量设置中定义的过时SQL模式
- 1.1.7. 必须没有包含超过255个字符或1020个字节的单个ENUM或SET列元素的表或存储过程
- 1.1.8. 在升级到MySQL 8.0.13或更高版本之前,必须没有驻留在共享InnoDB表空间中的表分区 ,其中包括系统表空间和通用表空间
- 1.1.9. MySQL 8.0.12或更低版本中必须没有查询和存储的程序定义,这些定义使用ASC或 DESC限定GROUP BY条款
- 1.1.10. 您的MySQL 5.7安装不得使用MySQL 8.0不支持的功能。此处的任何更改都必须是特定于安装的
- 1.2. Upgrade Checker
- 1.3. 在Unix / Linux上升级MySQL二进制或基于包的安装
- 1.4. 使用Docker部署MySQL服务器的基本步骤
1.1. 准备升级安装
- 在升级到最新的MySQL 8.0版本之前,请通过执行下面描述的初步检查来确保当前MySQL 5.7或MySQL 8.0服务器实例的升级准备情况。否则升级过程可能会失败。可以使用MySQL Shell升级检查器实用程序执行相同的检查和其他检查
1.1.1. 不得出现以下问题
- 必须没有使用过时数据类型或函数的表.
- 必须没有孤立.frm文件.
- 触发器不能有遗漏或空的定义者或无效的创作环境(由表示 character_set_client, collation_connection,Database Collation属性所显示 SHOW TRIGGERS或 INFORMATION_SCHEMA TRIGGERS表).
- 要检查这些问题,请执行以下命令
root@497ccc74f01a:/# mysqlcheck -uroot -proot123 --all-databases --check-upgrade
mysqlcheck: [Warning] Using a password on the command line interface can be insecure.
auto_increment.tb1