本文主要介紹了PolarDB MySQL版數據庫代理的版本更新記錄。
關于版本或者主動運維升級的相關問題,可加釘釘群咨詢,群號:51685000218。
版本管理機制
當前PolarDB MySQL版數據庫代理有兩個版本管理機制:
新購版本:用戶新購買的實例的當前版本號。
穩定版本:用戶進行代理小版本升級的目標版本號。
我們會根據當前發布版本的風險確定當前要發布的版本是新購版本,還是新購+穩定版本。常規的問題修復會發布新購+穩定版本;新增大功能會發布新購版本,新購版本會在發布后2-3個月后轉為穩定版本。
查詢版本號
您可以登錄PolarDB控制臺,在目標集群的 頁直接查看數據庫代理版本信息。
當前PolarDB MySQL版數據庫代理包含1.x.x和2.x.x兩大版本,兩個版本的區別如下:
1.x.x
2021年2月1日前創建的集群下的數據代理版本,該版本不再進行新功能迭代開發,只進行問題修復。
2.x.x
2021年2月1日(包含)后新創建的集群下的數據代理版本,該版本屬于當前的主流版本,所有的新增功能都在該版本上進行迭代開發。新增的功能包括連接保持、數據脫敏等。
1.x.x版本升級到2.x.x版本時,集群的內核版本需要滿足如下要求:
集群為PolarDB MySQL版8.0.2版本時,無內核版本要求。
集群為PolarDB MySQL版8.0.1版本時,修訂版本需為8.0.1.1.10或以上。
集群為PolarDB MySQL版5.7版本時,修訂版本需為5.7.1.0.6或以上。
集群為PolarDB MySQL版5.6版本時,修訂版本需為5.6.1.0.24或以上。
關于升級數據庫代理版本的內容,請參考版本管理。
數據庫代理發布日志
數據庫代理2.x.x版本發布日志
以下版本為數據庫代理的主流版本,并不包含全部的數據庫代理版本。您查詢到的版本號,可能并不包含在下列的版本列表中。
2.9.8(發布日期:20241125)
類別
說明
新增功能&性能優化
問題修復
修復高并發讀取數據場景下,可能導致代理OOM的問題。
修復某些場景事務續傳失敗的問題。
修復
caching_sha2_password
賬號不支持pymysql驅動的問題。修復主備切換場景下
force_node hint
失效的問題。修復多主某些場景下代理異常導致的崩潰問題。
修復多主某些場景下Standby角色判斷錯誤的問題。
2.9.4(發布日期:20240829)
類別
說明
新增功能&性能優化
全密態加密支持密鑰更新。
問題修復
修復存儲過程里創建臨時表訪問失敗問題。
修復多主集群
CREATE TABLE LIKE
,RENAME TABLE
執行失敗的問題。修復PolarDB for AI高并發場景下請求響應慢問題。
修復某些場景下代理異常阻塞和重啟問題。
2.9.2(發布日期:20240729)
類別
說明
新增功能&性能優化
支持MySQL8.0版的
caching_sha2_password
認證。支持加密規則使用通配符。
優化全局事務標識符(GtId)相關語句的路由策略。
支持 ->> 或 -> 的JSON語法。
問題修復
修復短連接場景下Thread ID輪轉覆蓋導致偶爾建連失敗的問題。
修復多語句嵌套事務報錯的問題。
修復某些特定SQL的解析失敗導致代理異常。
2.8.47(發布日期:20241202)
類別
說明
新增功能&性能優化
支持包含
ST_Distance_Sphere
等內置GIS函數的請求路由到只讀節點。問題修復
修復高并發讀取數據場景下,可能導致代理OOM的問題。
修復某些場景事務續傳失敗的問題。
2.8.46(發布日期:20240913)
類別
說明
新增功能&性能優化
優化跨地域或極端網絡情況下訪問的下行吞吐量問題。
優化
select information_schema.processlist
路由,新版本默認路由到主節點,防止用gh-ost無鎖變更失敗。
問題修復
修復只讀Endpoint只掛一個AP(只讀)節點請求慢的問題。
修復
user variable
路由不正確,導致業務出現Illegal mix of collations
錯誤。
2.8.45(發布日期:20240719)
類別
說明
新增功能&性能優化
優化某些場景的事務寫后讀拆分。
優化某些場景的連接保持。
優化脫敏或加密對非業務數據報文的處理。
問題修復
修復按需建連某些場景下建連失敗。
修復按需建連與行列自動引流兼容性問題。
修復行列自動引流某些場景請求路由不正確的問題。
修復脫密或加密場景下導致代理異常重啟。
修復過載保護特定場景下未及時恢復導致請求響應慢的問題。
修復集群地址執行
binlog dump
非預期斷連的問題。修復多語句帶臨時表請求路由不正確的問題。
修復只讀地址在基于連接數負載均衡的情況下在某些場景下不兼容的問題。
修復COM_RESET_CONNECTION場景下事務級連接池復用不正確的問題。
修復全局一致性下請求非預期路由到主庫的問題。
修復頻繁
kill connection
時可能導致代理連接泄漏的問題。修復某些場景下可能引起連接阻塞的問題。
2.8.35(發布日期:20240226)
類別
說明
新增功能&性能優化
支持按需建連功能。
新增9個脫敏/加密算法,并支持通過DMS的敏感數據保護功能對脫敏/加密算法進行管理配置。詳情請參見PolarDB的高級脫敏。
支持配置會話一致性超時時間。
問題修復
修復binlog_dump在開啟BINLOG_DUMP_NON_BLOCK時連接斷開的問題。
修復開啟行列自動引流時,某些場景下可能出現連接數據庫的部分連接長時間阻塞的問題。
修復會話級連接池使用SET OPTION可能出錯的問題。
修復使用STMT_SEND_LONG_DATA時,某些場景下可能導致連接阻塞的問題。
修復連接保持中的某些連接未正常退出的問題。
修復某些場景下某些監控指標不準確的問題。
修復部分代理節點異常的問題。
2.8.28(發布日期:20240108)
類別
說明
新增功能&性能優化
配置行列存自動引流時,若集群地址的讀寫模式設置為只讀,并且集群地址的負載均衡策略配置為基于活躍請求數負載均衡時,支持在事務內分流。
在行列存自動引流模式下,刪除AP節點對存量連接生效。
支持按EndPoint粒度配置server權重。
優化部分連接保持的場景。
SSL只支持TLS1.2版本。
問題修復
修復在PolarDB MySQL版8.0.2版本使用行列存自動引流時,客戶端收到9000錯誤碼的問題。
修復在執行行列存自動引流操作時,因SQL語句中含有特殊語法導致客戶端收到9000錯誤碼的問題。
修復在某些場景下執行
EXPLAIN SELECT
操作時執行失敗的問題。修復在某些場景下刪除只讀節點時,用戶請求短暫阻塞的問題。
修復在某些場景下使用事務級連接池可能導致連接無響應的問題。
修復部分代理節點異常的問題。
修復當集群地址的一致性級別設置為會話一致性或全局一致性后,在某些場景下使用行列存自動引流導致代理異常或連接無響應的問題。
修復在SQL語句中使用臨時表,導致路由錯誤的問題。
2.8.25(發布日期:20230830)
類別
說明
新增功能&性能優化
優化連接保持場景。
問題修復
修復內部keepalive或大報文可能導致用戶Session hang的問題。
修復select中有自定義變量路由到主庫的問題。
修復帶注釋的多語句路由到只讀節點的問題。
2.8.24(發布日期:20230808)
類別
說明
新增功能&性能優化
優化內部monitor探測模板的邏輯。
問題修復
修復只讀地址show warings超時失敗的問題。
修復開啟事務級連接池在某些場景下可能導致的代理異常問題。
2.8.21(發布日期:20230625)
類別
說明
新增功能&性能優化
優化部分內部模塊性能。
explain select語句支持路由到只讀節點。
show status語句支持路由到上一個節點。
支持查詢加密功能。
問題修復
修復開啟行列存自動引流下AP節點重啟可能導致的Session hang問題。
修復開啟并行查詢下節點重啟可能導致的Session hang問題。
修復Optimize的某些場景下路由到只讀節點的問題。
修復with select的某些場景解析出錯路由到主節點的問題。
修復用戶可以看到非預期的庫polar_proxy_encode。
修復增加只讀節點期間可能導致請求RT抖動的問題。
修復動態脫敏掩碼未生效的問題。
修復部分代理節點異常的問題。
2.8.12(發布日期:20230301)
類別
說明
新增功能&性能優化
短連接性能提升10%。
問題修復
修復row_number路由到主節點的問題。
修復部分場景下代理異常的問題。
修復只讀節點異常導致的代理monitor探測異常,用戶連接斷開問題。
修復行存自動引流使用prepare exec失敗的問題。
修復動態脫敏掩碼未生效的問題。
2.8.11(發布日期:20230222)
類別
說明
新增功能&性能優化
配置行列自動分流支持事務、會話一致性和全局一致性。
問題修復
修復SQL語句(SQL語句長度超過64 KB)包含臨時表的場景下路由錯誤的問題。
修復事務拆分時,事務狀態丟失導致php8.0連接閃斷的問題。
修復特定場景下只讀Endpoint認證失敗的問題。
修復特定場景下會話池連接時建連失敗的問題。
2.8.8(發布日期:20221215)
類別
說明
新增功能&性能優化
讀寫分離支持基于權重的動態負載均衡。具體請參見基于權重的動態負載均衡。
只讀Endpoint支持按請求粒度負載均衡。
HTAP行列自動分流支持TP請求路由到AP節點。
用戶在開啟或關閉彈性并行查詢(Elastic Parallel Query)時,可以對已有連接生效。
問題修復
修復特定場景下連接被斷開的問題。
2.8.3(發布日期:20221104)
類別
說明
新增功能&性能優化
支持過載保護功能。
支持熱備節點可讀功能。
問題修復
修復HTAP行列存自動引流多語句異常斷連的問題。
修復若干內部異常導致RT抖動的問題。
2.7.9(發布日期:20220801)
類別
說明
新增功能&性能優化
問題修復
修復會話級連接池在新增加數據庫節點上的環境變量丟失導致狀態不一致的問題。
修復在多語句的場景下開啟只讀事務時,update路由不正確的問題。
修復在一致性的場景下,COM_STMT_FETCH路由不正確的問題。
2.7.5(發布日期:20220715)
類別
說明
新增功能&性能優化
SQL防火墻功能支持show語法。
可讀可寫集群地址支持
問題修復
修復主庫是否接受讀功能對老連接不生效的問題。
修復若干內部異常問題。
2.4.35(發布日期:20220705)
類別
說明
問題修復
修復連接保持時RW重啟期間,收到SET請求時Session異常的問題。
修復若干內部監控不準確的問題以及診斷工具的問題。
2.4.33(發布日期:20220507)
類別
說明
問題修復
修復事務級連接池環境變量沒有重放,導致Session復用連接不正確的問題。
修復HTAP自動負載執行
prepare exec
時報錯的問題。修復事務拆分導致報文status的事務狀態丟失的問題(可能對php80有影響)。
修復特定場景下代理異常的問題。
2.4.30(發布日期:20220308)
類別
說明
新增功能&性能優化
優化會話一致性級別。
問題修復
修復HTAP自動引流功能部分路由不正確的問題。
修復數據庫代理規格超過32C時,數據庫代理異常的問題。
修復特定場景下數據庫代理異常崩潰的問題。
修復特定場景下prepare select for update路由不正確的問題。
2.4.27(發布日期:20211230)
類別
說明
新增功能&性能優化
支持行存儲和列存儲自動引流功能。
問題修復
修復kill session失敗的問題。
修復頻繁修改參數類型時,執行COM_STMT_EXECUTE失敗的問題。
修復事務內執行Select for update后的讀請求被路由到只讀節點的問題。
修復主節點重啟期間新建的連接,執行插入utf8mb4類型的特殊字符失敗的問題。
修復提交會話一致性的事務后,讀取不到最新的已提交數據的問題。
2.4.22(發布日期:20210910)
類別
說明
問題修復
修復數據庫代理未正常關閉prepare,導致數據庫內存使用量高的問題。
修復特定場景下連接保持失敗的問題。
修復默認集群地址改為只讀模式時,導致數據庫代理異常的問題。
修復特定場景下數據庫代理異常崩潰的問題。
2.4.18(發布日期:20210812)
類別
說明
問題修復
修復jdbc應用沒有指定字體集時,數據庫節點重啟的瞬間或者賬號認證失敗的瞬間導致數據亂碼的問題。
修復flink客戶建連失敗的問題。
修復部分臨時表路由錯誤的問題。
2.4.17(發布日期:20210714)
類別
說明
新增功能&性能優化
PolarDB MySQL版5.7版本支持故障切換場景下的事務連接保持。
增加內部監控指標。
問題修復
優化MySQL賬號認證失敗導致的RT響應變長的問題。
優化只讀節點異常后新建連接快速跳過該節點的問題。
修復只讀Endpoint開啟并行計算后建連失敗的問題。
修復current timestamp路由出錯的問題。
修復for update parse路由不正確的問題。
修復@a在join子句里語法分析不正確,導致路由錯誤的問題。
修復MySQL 8.0客戶端通過空密碼認證失敗的問題。
修復部分name prepare執行失敗的問題。
2.4.12(發布日期:20210520)
類別
說明
新增功能&性能優化
支持動態脫敏。
問題修復
修復特定場景下的代理異常問題。
2.4.7(發布日期:20210315)
類別
說明
新增功能&性能優化
支持連接保持。
問題修復
修復lock in shared mode路由不正確的問題。
數據庫代理1.x.x版本發布日志
以下版本為數據庫代理的主流版本,并不包含全部的數據庫代理版本。您查詢到的版本號,可能并不包含在下列的版本列表中。
1.13.42(發布日期:20221215)
類別
說明
問題修復
修復數據庫連接太多導致建連失敗的問題。
修復內部定時任務導致RT抖動的問題。
1.13.39(發布日期:20220720)
類別
說明
新增功能&性能優化
優化大量錯誤認證場景下數據庫代理的性能。
優化賬號認證功能。當存在錯誤賬號認證時,限流由全局粒度限流修改為賬號粒度限流。
問題修復
修復事務拆分時導致的事務狀態丟失的問題。
修復事務級連接池中環境變量沒有重放的問題。
修復XA事務下prepare關閉失敗的問題。
修復若干內部異常問題。
1.13.34(發布日期:20220303)
類別
說明
新增功能&性能優化
支持MySQL utf8mb3編碼格式。
優化會話一致性級別。
問題修復
修復prepare stmt參數過多導致select for update路由不正確的問題。
1.13.30(發布日期:20211230)
類別
說明
問題修復
修復提交會話一致性的事務后,讀取不到最新的已提交數據的問題。
1.13.27(發布日期:20211116)
類別
說明
問題修復
修復了某些客戶端SSL兼容性的問題。
優化了insert語句代理parse的性能。
1.13.25(發布日期:20210818)
類別
說明
問題修復
修復MySQL賬號認證失敗導致的代理內存泄漏問題。
修復多Endpoint場景下可能導致代理異常崩潰的問題。
1.13.22(發布日期:20210721)
類別
說明
新增功能&性能優化
開啟事務級連接池后支持select last_insert_id()的用法。
開啟事務級連接池后支持FOUND_ROWS函數。
COM_STATISTICS協議支持路由到只讀節點。
優化事務級連接池。
優化全局一致性:只要有一個只讀節點滿足一致性要求就可以將請求路由到只讀節點。
geo函數支持路由到只讀節點。
增加部分內部監控指標。
問題修復
修復部分SQL語句解析不正確導致路由錯誤的問題。
修復特定場景下執行stmt_long_data()后,stmt_exec()執行失敗的問題。
修復load data infile執行失敗的問題。
1.13.5(發布日期:20201201)
類別
說明
新增功能&性能優化
最終一致性支持事務拆分。
支持如下HINT語法:
force node connection /*force_proxy_internal*/set force_node = 'pi-aaaaaaaaa';
該連接之后的所有請求只發往節點pi-aaaaaaaaa。如果這個節點不健康的話,則報錯
set force node 'pi-aaaaaaaaa' is not found, please check.
。force node query /*force_node='pi-aaaaaaaa'*/ show processlist;
該條請求只在pi-aaaaaaaa節點上執行,如果這個節點不健康的話,則報錯
'force hint server node is not found, please check.'
。
增加部分內部監控指標。
問題修復
修復
select type, status, mode, where gtx_id = '4' FOR UPDATE;
語句包含mode關鍵字導致路由到只讀節點的問題。修復特定條件下負載不均衡的問題。
修復prepare場景下stmt_close可能失敗的問題。
1.12.10(發布日期:20201019)
類別
說明
問題修復
修復MySQL 8.0版本SSL加密建立連接異常問題。
修復數據庫節點的狀態從DOWN變成RUNNING時,數據庫代理負載的新請求到該節點異常的問題。
1.12.7(發布日期:20200806)
類別
說明
新增功能&性能優化
支持show full processlist語法。
支持XA事務語法。
問題修復
修復事務級連接池存在的若干問題。
修復GDN中訪問只讀節點存在的問題。
修復MySQL 8.0執行show processlist命令報錯的問題。
修復若干建立連接失敗問題。
1.11.12(發布日期:20200622)
類別
說明
新增功能&性能優化
支持事務級連接池。
PolarDB MySQL版8.0版本只讀Endpoint支持并行查詢。
1.10.7(發布日期:20200318)
類別
說明
新增功能&性能優化
支持全局一致性功能。
問題修復
修復會話級連接池初始化系統環境變量異常的問題。
1.9.23(發布日期:20200221)
類別
說明
新增功能&性能優化
支持通過root賬號連接集群。
支持SSL證書加密。
問題修復
修復change user失敗的問題。
修復load file失敗的問題。
修復用戶側收到sequence錯誤的報文,導致應用報
Exception: Packets out of order
的問題。修復主節點異常時只讀模式的EndPoint被斷開的問題。
1.9.14(發布日期:20191224)
類別
說明
新增功能&性能優化
支持HINT語法:
/*FORCE_SLAVE*/
和/*FORCE_MASTE*/
。支持主庫是否接受讀。
問題修復
修復charset默認值獲取錯誤導致亂碼的問題。
修復返回的mysql version string不正確的問題。
升級版本
若集群當前數據庫代理Proxy的版本不是最新版本,則可以根據實際需要進行升級操作。具體操作請參見升級版本。