MySQL 最新版本 8.0.22 于2020年10月19日正式发布。
主要新变化
改进审计日志:对于JSON格式的日志文件,MySQL企业审计支持使用audit_log_read()用户定义函数进行日志读取操作。之前,只有通过向audit_log_read()传递一个参数才能指定开始读取的位置,为了更加灵活现在可以命名一个以时间戳的开始说明符,以便从该时间戳或之后的第一个事件开始读取。
MySQL企业版现在包含一个keyring_oci插件,它使用Oracle Cloud Infrastructure Vault作为密钥环存储的后端。密钥信息不会永久存储在MySQL服务器本地存储中。
优化器部分:
- prepared语句现在只在执行PREPARE时准备一次,而不是在每次执行时准备一次。此外,存储过程里面的语句也仅在初次执行时准备一次。
- filesort算法现在支持对多个表上的联接进行排序,而不仅仅是对单个表进行排序。
- 在MySQL 8.0.22中,服务器在内部将所有右连接实例处理为左连接,消除了一些在解析时没有执行完整转换的特殊情况。
- 增加了支持SELECT INTO DUMPFILE 和 SELECT INTO OUTFILE 在写入文件时定期同步。
- MySQL现在为符合条件的查询实现派生条件下推,将外部where条件推入派生表。
SQL语法:支持对YEAR数据类型进行转换,支持TIMESTAMP使用UTC,并且支持通过JSON_VALUE()返回JSON值。
功能和函数方面:
- 使用MySQL服务器的新的异步连接故障转移机制,在从副本到源的现有连接失败后,自动建立到新源的异步(源到副本)复制连接。
- 通过新的变量innodb_extend_and_initialize,允许在Linux上配置InnoDB如何分配空间给每个表的文件和一般表空间。
- 允许在MySQL授权表上进行DML和DDL的读取操作,之前需要取得行锁,现在采取了非锁定操作。
- group_replication_ip_whitelist变量降级使用,将采用新的变量group_replication_ip_allowlist名称。
- START SLAVE, STOP SLAVE, SHOW SLAVE STATUS, SHOW SLAVE HOSTS 及 RESET SLAVE降级使用,使用REPLICA来替代。
- ALTER DATABASE 语句支持 READ ONLY选项,控制是否允许修改数据库和其中的对象。
以上内容为 8.0.22 版本的简介,更为详尽的内容访问 release notes 或发布公告。
稿源:
https://mp.weixin.qq.com/s/KhEbvTg10KLcMunz3vWU1g
注意:本文归作者所有,未经作者允许,不得转载