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