【MySQL运维】MySQL 8.0新特性介绍与升级MySQL 8.0

tanglu 551 2021-12-21

一、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语句兼容问题,可以使用官方的检查工具

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参数来自动处理升级需要做的一切 

版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:【Grafana教程】(1)grafana-8.3.3安装与Prometheus数据源配置
下一篇:【系统运维】Out of Memory(OOM)的原理与内存回收相关配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码