濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MySQL 8.0.23 主要更新一覽(新特征解讀)

MySQL 8.0.23 主要更新一覽(新特征解讀)

熱門(mén)標(biāo)簽:福州呼叫中心外呼系統(tǒng)哪家好 北京人工外呼系統(tǒng)價(jià)錢(qián) 沃克斯電梯外呼線(xiàn)路圖 天智外呼系統(tǒng) 常州電銷(xiāo)外呼系統(tǒng)一般多少錢(qián) 地圖標(biāo)注被騙三百怎么辦 400電話(huà)鄭州申請(qǐng) 房產(chǎn)智能外呼系統(tǒng)品牌 云南語(yǔ)音外呼系統(tǒng)平臺(tái)

作者:管長(zhǎng)龍
愛(ài)可生交付服務(wù)部 DBA,主要負(fù)責(zé) MySQL 及 Redis 的日常問(wèn)題處理,參與公司數(shù)據(jù)庫(kù)培訓(xùn)的教研授課及開(kāi)源社區(qū)的運(yùn)營(yíng)工作。
本文來(lái)源:原創(chuàng)投稿
* 愛(ài)可生開(kāi)源社區(qū)出品,原創(chuàng)內(nèi)容未經(jīng)授權(quán)不得隨意使用,轉(zhuǎn)載請(qǐng)聯(lián)系小編并注明來(lái)源。

上篇文章給大家介紹了MySQL8.0.23安裝超詳細(xì)教程 ,感興趣的朋友點(diǎn)擊查看。

MySQL 8.0.23 已于作日發(fā)布,目前發(fā)布頻率穩(wěn)定保持 3 個(gè)月一次。本次發(fā)布是維護(hù)版本,除了修復(fù)一些 Bug,此版本還增添了一些新功能。

一、不可見(jiàn)列

列可以定義為不可見(jiàn),例如:

# 創(chuàng)建表時(shí),可使其不可見(jiàn)(ALTER TABLE 也支持)
mysql> CREATE TABLE t1 (col1 INT, col2 INT INVISIBLE);
mysql> INSERT INTO t1 (col1, col2) VALUES(1, 2), (3, 4);

# SQL 語(yǔ)句通過(guò)顯式引用它來(lái)使用不可見(jiàn)列
mysql> SELECT * FROM t1;
+------+
| col1 |
+------+
|  1 |
|  3 |
+------+

# 如果未引用不可見(jiàn)的列,則該列將不會(huì)出現(xiàn)在結(jié)果中
mysql> SELECT col1, col2 FROM t1;
+------+------+
| col1 | col2 |
+------+------+
|  1 |  2 |
|  3 |  4 |
+------+------+

https://dev.mysql.com/doc/refman/8.0/en/invisible-columns.html

二、查詢(xún)屬性

允許應(yīng)用程序?yàn)槠洳樵?xún)?cè)O(shè)置每個(gè)查詢(xún)?cè)獢?shù)據(jù)。

mysql> query_attributes n1 v1 n2 v2;
mysql> SELECT
     mysql_query_attribute_string('n1') AS 'attr 1',
     mysql_query_attribute_string('n2') AS 'attr 2',
     mysql_query_attribute_string('n3') AS 'attr 3';
+--------+--------+--------+
| attr 1 | attr 2 | attr 3 |
+--------+--------+--------+
| v1   | v2   | NULL  |
+--------+--------+--------+

https://dev.mysql.com/doc/refman/8.0/en/query-attribute-udfs.html#udf_mysql-query-attribute-string

三、安全

Doublewrite 文件頁(yè)加密

InnoDB 自動(dòng)加密屬于加密表空間的 Doublewrite 文件頁(yè)面,無(wú)需采取任何措施。使用相關(guān)表空間的加密密鑰對(duì) Doublewrite 文件頁(yè)進(jìn)行加密。同一表空間中被寫(xiě)入數(shù)據(jù)的加密頁(yè)面也會(huì)被寫(xiě)入 Doublewrite 文件。屬于未加密表空間的 Doublewrite 文件頁(yè)面保持未加密狀態(tài)。在恢復(fù)過(guò)程中,加密的 Doublewrite 文件頁(yè)面是未加密狀態(tài)并檢查是否損壞。

https://dev.mysql.com/doc/refman/8.0/en/innodb-data-encryption.html

提高賬戶(hù)確定性

為了讓 TCP 連接匹配賬戶(hù)更具確定性,在匹配主機(jī)名指定的賬戶(hù)前,匹配賬戶(hù)的主機(jī)名部分將以以下順序檢查使用主機(jī) IP 地址指定賬戶(hù)。

# 指定 IP 地址的帳戶(hù)
mysql> CREATE USER 'user_name'@'127.0.0.1';
mysql> CREATE USER 'user_name'@'198.51.100.44';

# 使用 CIDR 表示法指定為 IP 地址的帳戶(hù)
mysql> CREATE USER 'user_name'@'192.0.2.21/8';
mysql> CREATE USER 'user_name'@'198.51.100.44/16';

# 使用帶子網(wǎng)掩碼格式的指定為 IP 地址的賬戶(hù)
mysql> CREATE USER 'user_name'@'192.0.2.0/255.255.255.0';
mysql> CREATE USER 'user_name'@'198.51.0.0/255.255.0.0';

https://dev.mysql.com/doc/refman/8.0/en/connection-access.html

更精準(zhǔn)的 FLUSH 權(quán)限

授予 RELOAD 權(quán)限的用戶(hù)可以執(zhí)行各種操作。在某些情況下,為了使 DBA 避免授予 RELOAD 并使用戶(hù)權(quán)限更接近允許的操作,已對(duì) FLUSH 操作的更精細(xì)的特權(quán)控制,以使客戶(hù)可以執(zhí)行 FLUSH OPTIMIZER_COSTS,F(xiàn)LUSH STATUS,F(xiàn)LUSH USER_RESOURCES 和 FLUSH TABLES 語(yǔ)句,無(wú)需 RELOAD 權(quán)限。

https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_reload

四、InnoDB

優(yōu)化 TRUNCATE / DROP

當(dāng)用戶(hù)對(duì) InnoDB 表空間 TRUNCATE 或 DROP 操作:

  • 對(duì)有龐大緩沖池(>32GB)實(shí)例上的大表刪除
  • 對(duì)具有自適應(yīng)哈希索引引用大量頁(yè)面的表空間
  • TRUNCATE 臨時(shí)表空間

以上情況,MySQL 現(xiàn)在將其標(biāo)記為已刪除,然后從緩沖池懶惰地釋放屬于已刪除表空間的所有頁(yè)面,或者像釋放頁(yè)面一樣重用它們。

新增表空間 AUTOEXTEND_SIZE 屬性

InnoDB 常規(guī)表 CREATE / ALTER TABLESPACE 子句和獨(dú)立表空間的 CREATE / ALTER TABLE 子句新增自動(dòng)擴(kuò)展屬性。原表空間的增長(zhǎng)大小已在 InnoDB 內(nèi)部硬編碼為 1MB [默認(rèn)](page_size * 一個(gè)范圍內(nèi)的頁(yè)面數(shù))。設(shè)置后,表空間的增長(zhǎng)大小可以由用戶(hù)決定。

# 創(chuàng)建或修改表時(shí)指定擴(kuò)展空間大小
mysql> CREATE TABLE t1 (c1 INT) AUTOEXTEND_SIZE = 4M;
mysql> ALTER TABLE t1 AUTOEXTEND_SIZE = 4M;

# 查詢(xún)?cè)搶傩灾?
mysql> SELECT NAME, AUTOEXTEND_SIZE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES 
    WHERE NAME LIKE 'test/t1';
+---------+-----------------+
| NAME  | AUTOEXTEND_SIZE |
+---------+-----------------+
| test/t1 |     4194304 |
+---------+-----------------+

https://dev.mysql.com/doc/refman/8.0/en/innodb-tablespace-autoextend-size.html

新增 temptable_max_mmap 變量

新變量定義了 TempTable 存儲(chǔ)引擎在開(kāi)始將內(nèi)部臨時(shí)表數(shù)據(jù)存儲(chǔ)到 InnoDB 磁盤(pán)內(nèi)部臨時(shí)表之前,被允許從內(nèi)存映射文件分配的最大內(nèi)存量。temptable_max_mmap = 0 設(shè)置將禁用從內(nèi)存映射文件的分配。

https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_temptable_max_mmap

五、復(fù)制

術(shù)語(yǔ)替換

不推薦使用 CHANGE MASTER TO 語(yǔ)句,改用別名 CHANGE REPLICATION SOURCE TO。該語(yǔ)句的參數(shù)還具有別名,該別名用術(shù)語(yǔ) SOURCE 代替術(shù)語(yǔ) MASTER。例如,現(xiàn)在可以將 MASTER_HOST 和 MASTER_PORT 輸入為 SOURCE_HOST 和 SOURCE_PORT。START REPLICA | SLAVE 語(yǔ)句的參數(shù) MASTER_LOG_POS 和 MASTER_LOG_FILE 現(xiàn)在具有別名 SOURCE_LOG_POS 和 SOURCE_LOG_FILE。語(yǔ)句的工作方式與以前相同,只是每個(gè)語(yǔ)句使用的術(shù)語(yǔ)已更改。如果使用舊版本,則會(huì)發(fā)出棄用警告。

直接從禁用 GTID 的主機(jī)復(fù)制到啟用 GTID 的從機(jī)

CHANGE REPLICATION SOURCE TO 語(yǔ)句新增選項(xiàng): ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = [OFF,LOCAL,UUID>]

允許數(shù)據(jù)在非 GTID 實(shí)例和 GTID 實(shí)例之間傳輸。

https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-assign-anon.html

在 MTS 死鎖檢測(cè)基礎(chǔ)結(jié)構(gòu)中包含 MDL 和 ACL 鎖

將提供多線(xiàn)程的 REPLICA 所需的線(xiàn)程序列化基礎(chǔ)結(jié)構(gòu)與 MDL 和 ACL 訪問(wèn)序列化基礎(chǔ)結(jié)構(gòu)集成在一起,該多線(xiàn)程 REPLICA 與 SOURCE 保持相同的提交順序。其動(dòng)機(jī)是能夠在 REPLICA 主動(dòng)處理變更流時(shí)在 REPLICA 上執(zhí)行任何客戶(hù)端語(yǔ)句。此類(lèi)語(yǔ)句可能會(huì)創(chuàng)建死鎖,必須對(duì)其進(jìn)行檢測(cè),并最終將其破壞以繼續(xù)執(zhí)行。

組復(fù)制

異步復(fù)制通道的自動(dòng)連接故障轉(zhuǎn)移,將確保接收方的發(fā)送方列表與組復(fù)制成員身份更改同步。

六、X 協(xié)議

經(jīng)典的 MySQL 協(xié)議,如果 SQL 查詢(xún)使用元數(shù)據(jù)鎖定或睡眠功能,則將定期檢查與服務(wù)器的連接以驗(yàn)證其是否仍然有效。 如果不是,則可以停止查詢(xún),以便它不會(huì)繼續(xù)消耗資源。以前,X 協(xié)議不執(zhí)行這些檢查,并假定連接仍然有效?,F(xiàn)在已為 X 協(xié)議添加了檢查。

從 MySQL 8.0.23 開(kāi)始,服務(wù)器將通知所有客戶(hù)端有關(guān)它是剛剛關(guān)閉連接還是自行關(guān)閉的信息。客戶(hù)端可以使用此信息來(lái)決定重新連接是否有意義,然后重試。

七、其他

優(yōu)化哈希聯(lián)接的哈希表的實(shí)現(xiàn)。目的是提高性能,使用更少的內(nèi)存并改善內(nèi)存控制。

用標(biāo)準(zhǔn) C++11 替換了部分舊的 InnoDB 代碼。加強(qiáng)代碼中使用原子性的規(guī)則和語(yǔ)義,從而使代碼更符合標(biāo)準(zhǔn)。

八、棄用和移除

棄用 relay_log_info_repository 和 master_info_repository 。當(dāng)用戶(hù)設(shè)置或讀取 relay_log_info_repository 或 master_info_repository 變量的值時(shí),將出現(xiàn)棄用警告。未來(lái),用于存儲(chǔ)復(fù)制配置和元數(shù)據(jù)的唯一選項(xiàng)將在事務(wù)系統(tǒng)表中。

不贊成使用 FLUSH HOSTS 語(yǔ)句,而建議使用 TRUNCATE performance_schema.host_cache,并將在以后的 MySQL 版本中刪除。

文章參考

MySQL 8.0.23 Release Notes:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-23.html

The MySQL 8.0.23 Maintenance Release is Generally Available

https://mysqlserverteam.com/the-mysql-8-0-23-maintenance-release-is-generally-available/

到此這篇關(guān)于MySQL 8.0.23 主要更新一覽(新特征解讀)的文章就介紹到這了,更多相關(guān)MySQL 8.0.23 更新內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • mysql8.0.23 linux(centos7)安裝完整超詳細(xì)教程
  • MySQL8.0.23安裝超詳細(xì)教程
  • Centos7下安裝MySQL8.0.23的步驟(小白入門(mén)級(jí)別)

標(biāo)簽:移動(dòng) 黔東 珠海 鹽城 沈陽(yáng) 徐州 拉薩 沈陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL 8.0.23 主要更新一覽(新特征解讀)》,本文關(guān)鍵詞  MySQL,8.0.23,主要,更新,一覽,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL 8.0.23 主要更新一覽(新特征解讀)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于MySQL 8.0.23 主要更新一覽(新特征解讀)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    襄垣县| 桐柏县| 手机| 五常市| 廊坊市| 西宁市| 剑川县| 从江县| 芜湖市| 威信县| 五河县| 青海省| 赤水市| 正镶白旗| 阜新市| 涪陵区| 昆山市| 那坡县| 承德县| 广昌县| 湘乡市| 贞丰县| 深州市| 思茅市| 房产| 新干县| 新化县| 娄底市| 民县| 永修县| 新巴尔虎左旗| 芜湖市| 嘉荫县| 永德县| 教育| 修水县| 峨边| 临沂市| 岳普湖县| 岳阳市| 新津县|