本文主要介绍了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的版本不是最新版本,则可以根据实际需要进行升级操作。具体操作请参见升级版本。