原创: 田帅萌mysql
做者简介sql
田帅萌,京东数科DBA,爱可生开源社区志愿者。安全
最熟悉的命令要消失了!服务器
MySQL 8.0.16 开始,MySQL 不推荐使用mysql_upgrade。取而代之的是spa
server upgrade的升级方式。.net
1、为何变动升级方式
官方为何这么作?server
1. 升级速度更快blog
2. 升级更简单自动化
3. 安全性更好io
4. 减小升级步骤,方便自动化
5. 不须要重启 MySQL 6. 即插即用
2、新旧方式升级流程对比
在 MySQL 8.0.16 以前:
1. 关闭 MySQL,替换新的二进制 MySQL
2. 启动 MySQL,让服务器升级 DD(数据字典)表
3. 运行 mysql_upgrade,更新系统表和用户表
4. 加载新的帮助表
5. 重启 MySQL
从 MySQL 8.0.16 开始:
1. 关闭 MySQL,替换新的二进制 MySQL
2. 启动 MySQL,升级 DD(数据字典)表和系统表、用户表和帮助表
升级的时间和操做都会大幅度缩短,操做步骤也减小了不少,更方便了用户。
3、关于 MySQL 8.0.16 的新的升级方式
看看该如何使用新的升级姿式?
在 mysqld 额外添加了一个新的选项 --upgrade。可选值为 NONE,AUTO,MINIMAL,FORCE。
姿式是这样的:
/usr/local/mysql/bin/mysqld --upgrade=NONE
新的选项都表明什么?
**NONE:**不尝试进行升级
**AUTO:**默认选项,MySQL 进行数据字典升级和服务升级
**MINIMAL:**仅升级数据字典
**FORCE:**强制升级,相似旧的 mysql_upgrade –force
MySQL 8.0.16 新的升级方式,整体来讲分为2个步骤。
1. 升级数据字典(DD)
2. 服务器升级:升级 MySQL 系统表、升级用户表、升级 sys 表、升级帮助更新表
可能出现的问题:
1. 升级数据字典:原子性操做。若是操做失败,则根据目录能够回滚回来。
2.升级系统表、用户表:能够从备份还原中恢复。
我的建议,针对升级:
1. 使用新的版本,尤为是 MySQL 8.0 系列。每一个版本都有新特性,还有bug的修复,按期小版本升级会使你的 MySQL 更加稳定。
2. 阅读新版本的Release。 3.最后,升级以前要作好备份,以便升级失败回滚使用。