MySQL 8.0.30 现已正式发布。此版本在做了大量的修复的同时,也对一些功能进行了增强和改善。一些亮点内容如下:
GIPK(Generated Invisible Primary Keys)
当开启GIPK模式后,可以允许没有显示定义主键的InnoDB表,自动生成不可见的主键。生成的主键名称为 ‘my_row_id’ 并且无法更改,用户需要注意该关键字的使用。
XA 事务与复制
复制功能支持将XA事务的状态进行复制,解决了以往的复制功能在服务器节点出现异常时,无法保证执行XA PREPARE、XA COMMIT或XA ROLLBACK。
对于任何多服务器复制拓扑(包括组复制), XA事务状态可以一致地传播,以便所有服务器始终处于同一状态。对于任意的拓扑结构(包括单个服务器,只要启用了二进制日志记录),就可以恢复到一致状态。
InnoDB doublewrite buffer
增加了Innodb_doublewrite系统变量,该变量可以设置为DETECT_ONLY 或 DETECT_AND_RECOVER。设置为DETECT_ONLY时,数据库页面内容不会写入doublewrite buffer,恢复时也不使用doublewrite buffer 修复不完整的页面写入。该设置仅用于检测不完整页面写入。设置为DETECT_AND_RECOVER时,与现有的处理保持一致。
动态配置 Redo 日志容量
Redo日志现在支持动态设置容量。通过系统变量innodb_redo_log_capacity 可以增加或缩小Redo日志所使用的磁盘容量。InnoDB可以维护32个Redo日志,日志的默认大小为100M。用户配置innodb_redo_log_capacity后,变量innodb_log_files_in_group 和 innodb_log_file_size的值将被忽略。
更改 MySQL 部分系统表主键中的字段顺序
通过更改,以提高执行CREATE USER,DROP USER,RENAME USER 语句的执行性能
mysqldump 自定义长查询时间
mysqldump增加一个新的选项 -mysqld-long-query-time ,通过该选项,用户可以增加mysqldump查询所允许的经过时间,以便避免写入慢查询日志,从而减少不必要的日志记录。
Error log 组件
错误日志组件现在可以在InnoDB存储引擎可用之前启动。这种加载错误日志组件的控件方法通过log_error_services变量定义。
隐式加载错误日志组件具有如下优点:
-
InnoDB完全可用之前记录的信息是可用的。
-
它有助于避免日志信息的丢失启动失败。
-
显式错误日志组件安装使用不再需要安装组件语法。用户只需要将组件添加到log_error_services设置。
企业版审计
审计日志增加了查询时间选项,可以记录发送和接收的记录数及时间。
加密函数 AES_ENCRYPT() 和 AES_DECRYPT() 支持 KDF
KDF(key derivation function)通过将秘钥密码或密码短语等信息传递给函数,用来创建密码学上的强密码。派生的密钥用于加密并解密数据,它仍然保存在MySQL服务器中实例,用户无法访问。强烈推荐使用KDF,因为它提供了比用户指定密码等方式更为简单的方法,及更好的安全性。
更多详细内容可访问官网。
稿源:https://mp.weixin.qq.com/s/h5l811FMpZH4xm6ATvU9tA