一、MySQL 8.0 次要新个性
1、性能峰值简直是 5.7 的两倍
2、可疾速在线新增列——instant add new column
3、可并行写入 redo log,晋升大量事务写入时的性能
4、可在线调整 redo log buffer 和 undo log 相干设置
5、可针对单个会话 SET_VAR 设置变量,晋升灵活性
6、新增更多数据字典,元数据全副采纳 InnoDB 引擎存储,无 frm 文件
7、自增列长久化,解决了服务重启后自增值回退的问题
8、可在线长久化配置(set persist 会生成 mysqld.auto.cnf)
9、减少 CREATE TABLE … SELECT 的原子性和 crash safe 反对,解决了 MGR 架构下无奈应用的问题
10、应用新的明码插件 caching_sha2_password(代替本来的 mysql_native_password)(客户端须要降级驱动),反对更高的明码策略,即使雷同的明码加密后的密文也是不同的
11、新增角色 role 性能
12、新增倒排索引、不可见索引
13、重构 SQL 分析器,加强优化器和 CBO 个性
14、反对通用表达式、窗口函数,次要用于 OLAP 场景
15、默认字符集为 utf8mb4
16、反对应用 shutdown 命令间接敞开服务
17、谬误日志减少了不同谬误的谬误编号,不便查问
18、并行复制 writeset 机制,晋升从库复制性能
19、反对创立零碎级别或者用户级别资源组以限度 SQL 对服务器资源的占用
二、降级 8.0 前的筹备
1、先浏览官网 What Is New In MySQL 8.0 文档,关注被废除的性能,防止配置文件中仍然存在这些历史配置
2、须要思考回滚计划
3、通过先降级从库的形式进行平稳过渡
4、降级前须要关注是否存在关键词兼容问题以及 GROUP BY 语句兼容问题,能够应用官网的查看工具
Bash
mysqlsh root:123456@192.168.1.101:3306 -e “util.checkForServerUpgrade();”
5、5.7 版本反对间接降级 8.0(5.6 不反对),降级大版本前倡议先把小版本升级到最新
6、倡议降级形式采纳逻辑备份 + 导入的形式
三、降级 MySQL 8.0 步骤
1、敞开以后 MySQL
2、备份数据
3、应用新版本二进制包替换原版本
4、更改配置文件
5、启动服务,不须要 mysql_upgrade,MySQL 8.0 反对通过配置 upgrade = AUTO 参数来主动解决降级须要做的所有