MySQL8.3发布

2024-01-22 13:58:44 浏览数 (1)

前言

MySQL8.3发布,8.0.36一并发布。8.0.36现在是修复bug版本,基本没有新功能增加。 生产建议8.0.32以上版本。8.1,8.2,8.3不是LTS版本,不适合生产。

新增的功能

1、带标签的gtid

8.3版本改变了gtid的格式,在gtid中加了标签。现在格式为:UUID:TAG:NUMBER。其中tag部分是新增。设置参数如下。

代码语言:javascript复制
gtid_next = AUTOMATIC:TAG

2 EXPLAIN FORMAT=JSON 可选版本为1或者2

代码语言:javascript复制
mysql> SELECT @@explain_json_format_version;
 ------------------------------- 
| @@explain_json_format_version |
 ------------------------------- 
|                             1 |
 ------------------------------- 
1 row in set (0.00 sec)

mysql> SET @@explain_json_format_version = 2;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@explain_json_format_version;
 ------------------------------- 
| @@explain_json_format_version |
 ------------------------------- 
|                             2 |
 ------------------------------- 
1 row in set (0.00 sec)

3 binlog_transaction_dependency_tracking参数默认值改为WRITESET

4 WITH_LD CMake 选项

如果未指定链接器,则使用标准的链接器。WITH_LD也取代了在MySQL 8.3中移除的USE_LD_LLD CMake选项。

5 MySQL企业数据脱敏和去标识

6 PS中增加线程池插件的连接信息

7 information_schema 中PROCESSLIST 表的用法

在MySQL 8.0.35和8.2.0中,INFORMATION_SCHEMA.PROCESSLIST表已被弃用,但人们仍然对跟踪其使用情况感兴趣。此版本增加了两个系统状态变量,提供关于对PROCESSLIST表的访问信息,列在下面:Deprecated_use_i_s_processlist_count提供自服务器上次启动以来查询中对PROCESSLIST表的引用次数。Deprecated_use_i_s_processlist_last_timestamp存储了PROCESSLIST表上次访问的时间。这是一个时间戳值(自Unix纪元以来的微秒数)。

8 刷新数据脱敏字典

增加 masking_dictionaries_flush()函数;增加 component_masking.dictionaries_flush_interval_seconds 系统参数。

未来将移除的功能

1 C API 函数移除

2 FLUSH HOSTS 语句移除

3 删除复制设置和参数

--slave-rows-search-algorithms移除 log_bin_use_v1_events 移除 --relay-log-info-file, --relay-log-info-repository, --master-info-file, --master-info-repository移除 transaction_write_set_extraction移除 group_replication_ip_whitelist:用group_replication_ip_allowlist 替代 group_replication_primary_member不再需要,查看performance_schema.replication_group_members中的member_role字段。

4 --skip-host-cache 参数移除

用--host-cache-size=0启动参数

5 --innodb 和 --skip-innodb 系统参数移除,因为innodb是默认存储引擎,没有可能不用。

6 --character-set-client-handshake 和 --old-style-user-limits 系统参数移除。

7 cmake参数移除

USE_LD_LLD 被 WITH_LD=lld取代;WITH_BOOST, DOWNLOAD_BOOST, DOWNLOAD_BOOST_TIMEOUT被移除,MySQL原带现在包含了Boost库。

8 在GTID复制模式下的IGNORE_SERVER_IDS处理

代码语言:javascript复制
CHANGE REPLICATION SOURCE TO IGNORE_SERVER_IDS = ();

9 二进制日志事务依赖跟踪和日志格式

发现使用writeset信息进行冲突检测会导致依赖跟踪出现问题。因此,我们现在限制了writeset在冲突检测中的使用,仅当基于行的日志记录生效时才可以使用。

这意味着,从这个版本开始,如果binlog_transaction_dependency_tracking设置为WRITESET或WRITESET_SESSION,binlog_format必须是ROW;MIXED在这种情况下不再受支持。

0 人点赞