一、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参数来主动解决降级须要做的所有