MariaDB 11.4.0 预览版现已发布
MariaDB 基金会很高兴地宣布 MariaDB 11.4.0 现已可用,它是 MariaDB 11.4 系列的一个预览版。MariaDB 11.4 是一个短期版本,在其 G.A(稳定)版本发布后将维护一年。
该版本包含以下新特性。请注意,作为预览版,并非所有特性都保证会进入 MariaDB 11.4 系列。
分区
- ALTER TABLE … EXCHANGE PARTITION 和 ALTER TABLE … CONVERT TABLE … TO 现在支持
WITH VALIDATION
和WITHOUT VALIDATION
子句。如果两者都没有指定,默认行为是WITH VALIDATION
(MDEV-22164)
Sys Schema
- 新视图 sys.privileges_by_table_by_level 按允许访问的表和授予的级别显示已授予的权限。例如,如果用户
x
被授予了ON db.*
的SELECT
权限,此视图将列出db
模式中所有用户x
拥有SELECT
权限的表。这与 INFORMATION_SCHEMA.TABLE_PRIVILEGES 不同,后者仅列出在表级别授予的权限 (MDEV-24486)。
优化器
- 不仅升序,而且 降序索引 现在可以用于优化 MIN() 和 MAX() (MDEV-27576)
Spider
- 指定 Spider 参数 的首选方式是使用专用的 Spider 表选项(在 MariaDB 11.3 中实现)。滥用表
COMMENT
子句现已弃用 (MDEV-28861)
其他
- CONV() 函数现在支持最高达 62 进制的转换 (MDEV-30879)
复制
- 通过将校验和计算移出全局 binlog mutex,提高了二进制日志写入速度 (MDEV-31273)。这是 Kristian Nielsen 的贡献。
- 新系统变量 max_binlog_total_size 允许在所有二进制日志的总大小超过指定阈值时执行二进制日志清除。该实现基于 Percona 的补丁 (MDEV-31404)。
- 新系统变量 slave_connections_needed_for_purge 在连接的从库数量达到指定阈值之前禁用二进制日志清除 (MDEV-31404)。
FULL_NODUP
是 binlog_row_image 系统变量的一个新值。它本质上像FULL
一样工作,即所有列都包含在事件中,但占用空间较少,因为后像省略了未被UPDATE
语句更改且与前像值相同的列。这是来自阿里巴巴的贡献 (MDEV-32589)- mariadb-binlog –flashback 支持 FULL_NODUP 模式。这是来自阿里巴巴的贡献 (MDEV-32894)。
- MariaDB 可以选择维护一个特殊的 GTID 索引及其在二进制日志中的位置。如果启用,它可以非常快速地找到新连接的副本应该从哪里开始复制。没有索引时,这需要扫描 binlog。这是 Kristian Nielsen 的贡献 (MDEV-4991)。
- GTID 事件在 二进制日志 中现在包含生成事件的客户端连接的连接 ID。这使得 mariadb-binlog 可以用相应的连接 ID 标记所有行事件 (MDEV-7850)。
数据类型
- TIMESTAMP 的值范围已扩展。时间戳允许的最大值为 ‘2038-01-19 03:14:07 UTC’,现在是 ‘2106-02-07 06:28:15 UTC’。这不会改变存储格式,只要时间戳值在旧的时间戳范围内,旧的 MariaDB 服务器就可以读取新表。目前这仅在 64 位平台上支持,不包括 Windows(实际要求是
sizeof(long)==8
) (MDEV-32188)。
谢谢,尽情享受 MariaDB 吧!