MySQL8.3釋出

資料庫工作筆記發表於2024-01-17

來源:DBA札記
前言

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部分是新增。設定引數如下。

gtid_next = AUTOMATIC:TAG

2 EXPLAIN FORMAT=JSON 可選版本為1或者2

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處理

CHANGE REPLICATION SOURCE TO IGNORE_SERVER_IDS = ();

9 二進位制日誌事務依賴跟蹤和日誌格式

發現使用writeset資訊進行衝突檢測會導致依賴跟蹤出現問題。因此,我們現在限制了writeset在衝突檢測中的使用,僅當基於行的日誌記錄生效時才可以使用。

這意味著,從這個版本開始,如果binlog_transaction_dependency_tracking設定為WRITESET或WRITESET_SESSION,binlog_format必須是ROW;MIXED在這種情況下不再受支援。


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70027826/viewspace-3004153/,如需轉載,請註明出處,否則將追究法律責任。