本文将详细介绍PolarDB MySQL引擎内核模块的更新日志和全部的功能特性。

PolarDB数据库引擎在PolarDB架构中的位置如下图所示。

1

更多关于PolarDB产品架构及特点,请参见产品架构

查询版本号

您可以通过如下方式查看集群的内核版本信息:

  • 登录PolarDB控制台,在目标集群的基本信息页直接查看内核版本信息。1
  • 若在控制台上未看见内核版本信息,您可以通过show variables like "%polardb_version%";show variables like '%rds_release_date%';命令查询具体的版本号。
    说明
    • PolarDB MySQL引擎5.6版本集群仅支持通过show variables like '%rds_release_date%';命令查询具体的版本号。
    • 关于PolarDB数据库引擎版本号的详细说明,请参见数据库引擎版本号说明

PolarDB MySQL与社区MySQL版本的兼容关系

内核版本 完全兼容的MySQL小版本
8.0.2

公测中

8.0.18
8.0.1 8.0.13
5.7 5.7.28
5.6 5.6.16

PolarDB MySQL引擎8.0版本发布日志

注意 8.0.2版本目前正在公测中,可能存在若干稳定性风险,不承诺服务等级协议

PolarDB MySQL引擎8.0支持如下版本:

  • 8.0.2.1.4.1(发布日期:20211026)
    类别 说明
    问题修复 支持修改数据库缓存大小。
  • 8.0.2.1.4(发布日期:20201201)
    类别 说明
    新增功能和性能优化 支持官方MySQL 8.0.20的Index Hints功能。
    问题修复
    • 修复Hash Join并行的一个稳定性问题。
    • 修复统计信息中关于每个索引key对应行数估算错误的问题。
    • 修复并行扫描共享临时表时,处理空数据出现错误的问题。
    • 修复官方REGEXP_REPLACE函数处理数据出现错误的问题。
    • 修复官方对于复杂查询中包含子查询常量的崩溃问题。
    • 修复filesort返回错误数据的问题。
  • 8.0.2.1.3(发布日期:20201026)
    类别 说明
    新增功能和性能优化
    • 增强Hash Join的代价估算模型性能。
    • 支持并行Hash Join,即Build和Probe阶段的并行。
    问题修复
    • 修复并行执行计划中并行分区数量错误显示的问题。
    • 修复并行子查询的一个异常崩溃问题。
    • 修复在并行查询中使用RAND() 函数时,多个工作线程不能产生随机结果的问题。
  • 8.0.2.1.2(发布日期:20200927)
    类别 说明
    新增功能和性能优化 PolarDB并行全面支持最新的火山模型迭代执行器。
  • 8.0.2.1.1(发布日期:20200826)
    类别 说明
    新增功能和性能优化 优化集群的写性能。
    问题修复 修复内存泄漏问题。
  • 8.0.2.1.0(发布日期:20200722)
    类别 说明
    新增功能和性能优化
    • EXPLAIN支持并行计划的展示,支持通过FORMAT=TREE查看并行的执行计划树。
    • 并行查询支持哈希连接,增强了无索引的JOIN性能,详情请参见Hash Join的并行执行
    • 支持Resource Manager功能,能够实现对CPU和内存资源的监控,详情请参见Resource Manager
    • 支持Performance Agent,能够实现PolarDB MySQL引擎集群中的节点内部各项性能数据的采集与统计,您可以通过直接查询内存表PERF_STATISTICS获取相关指标的性能数据,详情请参见Performance Agent
    • 支持热重启(Warm buffer pool),在Crash重启和升级时,Buffer Pool中的数据依然存在,大幅度加快重启速度,并保持重启后性能无衰减。
  • 8.0.1.1.21(发布日期:20211126)
    类别 说明
    问题修复
    • 修复group_concat_max_len参数取值较大时,出现算术溢出导致GROUP_CONCAT函数结果错误的问题。
    • 修复备可用区的Standby节点,从故障中恢复后出现数据错误的问题。
    • 修复备可用区的Standby节点切换为主节点(RW节点)时,出现的数据异常问题。
    • 修复优化器在选定了多列组合索引过滤条件时,只能进行单列索引的过滤,不能进行组合索引过滤的问题。
  • 8.0.1.1.19(发布日期:20210918)
    类别 说明
    新增功能和性能优化
    • 针对DDL操作增加了新的并发控制CCL规则。
    • 增加参数restrict_on_limit_without_order,控制存在limit子句的并行查询中在没有order by子句的情况下,是否允许执行并行查询。
    问题修复
    • 修复并行查询中的Group by隐式排序,在选择group by列的索引的时候,并发执行结果无序的问题。
    • 修复在使用线程池(Thread Pool)时,审核日志中事务ID字段始终为0的错误。
  • 8.0.1.1.18(发布日期:20210814)
    类别 说明
    新增功能和性能优化 数据库内核支持事务断点续传和只读节点读取未提交的事务。
    问题修复 优化master_key_id_mutex,使得DDL操作可以并行执行。
  • 8.0.1.1.17(发布日期:20210723)
    类别 说明
    新增功能和性能优化
    • 新增polar_replica_work_on_nonblock_mdl_mode参数。开启该参数时,只读节点上的RU/RC隔离级别的未提交事务将不再阻塞主节点上的DDL操作,同时只读节点上将不在保证表定义的事务特性。
    • 优化了海量表场景下(如需要提供SaaS服务的场景)对统计信息的维护机制,大幅提升高并发下的查询表结构(desc table)和读写性能。
    问题修复
    • 修复了只读节点在进行物理复制,高并发压力很大时,崩溃在m_recv_bits.is_set(fold)的问题。
    • 修复了只读节点在高并发压力很大时,replay log崩溃的问题。
  • 8.0.1.1.16(发布日期:20210624)
    类别 说明
    问题修复 在ACL Cache Lock请求发生等待的时候,在master error log中打印请求线程和最早的锁持有线程的信息来辅助诊断问题。
  • 8.0.1.1.15(发布日期:20210525)
    类别 说明
    新增和优化功能
    • TDE支持对集群中MySQL的新建表自动加密。
    • MySQL数据表支持utf8mb4_0900_bin字符集。
    问题修复
    • 修复了instant add column后回滚Update操作时产生的记录过长,进而导致数据库崩溃的问题。
    • 修复了避免mysql.slow_log、mysql.general_log被DDL语句强制使用innodb引擎造成混乱的问题。
    • 修复了REGEXP函数的元数据信息错误导致结果集错误的问题。
    • 修复了在虚拟列上回滚Update操作导致数据库崩溃的问题。
    • 调整RO节点在首次注册到主节点时是否要立即触发checkpoint的策略。当LSN差值小于规定的阈值时,可不触发checkpoint。
  • 8.0.1.1.14(发布日期:20210423)
    类别 说明
    新增功能和性能优化
    • 优化了海量表场景(如需要提供SaaS服务的场景)下对内部索引信息的维护,来提升只读节点的启动速度。
    • 优化GDN同步连接,减少同步线程对CPU资源的消耗,提升了小规格(即8核以下)从集群同步Redo日志的速度。
    • 优化了并行度控制参数中的AutoDop策略,以避免对PARALLEL HINT和force_parallel_mode的使用造成影响。
    问题修复
    • 修复当RANGE查询范围较广时,由于records_in_range统计信息不准确,导致使用了错误索引的问题。
    • 修复当进行按时间点恢复全量数据时,由于缓冲池过小导致Standby节点崩溃问题。
    • 修复X-Engine引擎内部元信息内存占用过高的问题。
    • 修复官方MySQL中2个关于ACL DDL的问题,避免由于ACL DDL操作带来的死锁导致集群不可用的问题。
    • 修复当并行查询中包含了SQL_BUFFER_RESULT关键字,且使用了聚集函数但没有GROUP BY时,会返回错误结果集的问题。
  • 8.0.1.1.13.2(发布日期:20210419)
    类别 说明
    问题修复 修复主备切换时,TDE加密表中的加密信息可能丢失导致解密失败的问题。
  • 8.0.1.1.13.1(发布日期:20210408)
    类别 说明
    问题修复 修复并行查询中,由于未将Block Nested-Loop Join(BNL)算法中的常量过滤条件推到单表上,导致查询速度变慢的问题。
  • 8.0.1.1.13(发布日期:20210330)
    类别 说明
    新增功能和性能优化
    • 只读节点支持polar_use_statement_mdl_on_replica参数,避免只读节点上的事务(RC隔离级别)堵塞主节点的DDL操作。同时,当只读节点上的读事务与主节点上的DDL并发时,读事务将会看到不同的表定义(例如在只读节点读事务的两条语句中间,主节点上存在ADD COLUMN操作,那么只读节点上的第二条语句将读到比第一条语句更多的列)。
    • 移除索引等值查找路径中不必要的等值条件,便于在ORDER BY LIMIT场景下将Limit offset下推执行。
    • 新增dbms_stats.gather_stats(timeout, workers)命令,支持通过事件调度或手动执行该命令来更新过时的直方图。
    • mysql.slow_log新增支持查看log_versionlog_idorigin_start_timerds_ext字段。
    问题修复
    • 修复当对历史库的X-Engine表执行CHECK TABLE、COUNT(*)或DDL等命令时,无法终止查询的问题。
    • 将KICKOUT修改为非保留关键字。
    • 修复特定情况下,由于生成查询计划时评估扫描行数少于实际扫描行数,导致未充分进行并行查询的问题。
  • 8.0.1.1.12.2(发布日期:20210312)
    类别 说明
    问题修复
    • 修复在打开session_track_temporary_tables系统变量的情况下,在存储过程中创建或删除临时表会导致集群不可用的问题。
    • 引入官方MySQL 8.0.14的补丁,用于解决执行CREATE USER命令时,由于无法获取MySQL数据库系统表的元数据锁(MDL),导致CREATE USER语句被阻塞的问题。
  • 8.0.1.1.12.1(发布日期:20210302)
    类别 说明
    新增功能和性能优化 优化在多表场景下持续导入数据时,PolarDB历史库X-Engine的写性能。
    问题修复 修复并行查询中,由于Leader线程缺失互斥锁(Mutex)保护,导致与Worker线程上的元数据锁(MDL)状态可能不一致的问题。
  • 8.0.1.1.12(发布日期:20210220)
    类别 说明
    新增功能和性能优化
    • 并行度控制策略新增auto_dop_low_degree_cost参数,用于设置并行查询的并行度选择策略,详情请参见并行度控制策略
    • 新增支持通过restore_table命令,快速恢复回收站内的表,详情请参见表回收站
    • 支持从只读节点上获取Binlog,详情请参见远程获取并解析PolarDB MySQL引擎Binlog日志
    • 支持在opt trace中打印in_memory等关键信息,便于在执行计划出现问题时,定位问题原因。
    问题修复
    • 引入Port Percona补丁,用于解决高并发场景下,ACL CACHE 元数据锁冲突检测较慢的问题。
    • optimizer_switch系统变量中新增preferred_ordering_index参数,用于修复某些场景下(如使用了LIMIT子句的ORDER BY或GROUP BY查询),由于使用了有序索引,导致没有选择最优计划的问题。
    • 修复部分场景下SHOW PROCESSLIST结果不正确的问题。
    • 修复8.0.1.1.10之前的版本在执行小版本升级后,由于未更新系统表information_schame.KEY_COLUMN_USAGE的定义,导致系统表访问较慢的问题。
  • 8.0.1.1.11(发布日期:20210129)
    类别 说明
    新增功能和性能优化
    • 新增支持通过parallel_degree_policy参数来设置并行查询中并行度的配置策略,详情请参见并行度控制策略
    • 新增支持通过SET GLOBAL语句设置max_digest_length参数值来限制可识别语句的长度。
      说明 max_digest_length参数值修改后,客户端需要重新连接集群,新参数值才会生效。
    问题修复
    • 修复主节点和只读节点权限不一致的问题。
    • 修复主备切换后,只读节点无法连接到主节点的问题。
    • 修复当特定执行计划失效时,SPM的处理逻辑不正确的问题。
  • 8.0.1.1.10(发布日期:20210112)
    类别 说明
    新增功能和性能优化
    • 新增支持Group By的隐式排序功能,与在PolarDB MySQL引擎5.7版本上的用法一致。
    • 新增当存在Blob字段时禁用并行查询的功能。
    • 新增只读节点上自动更新语句级并发控制缓存信息的功能。
    • 新增热点行优化功能,详情请参见热点行优化
    • 新增支持DDL物理复制优化,详情请参见DDL物理复制优化
    • 新增支持并行元数据锁同步,详情请参见并行元数据锁同步
    • 新增当计算下推时快速反向遍历的功能。
    • 优化了文件系统,加快多表场景下表的打开速度。
    • 缩短了多表场景下的主备切换时间,加速新主节点的恢复。
    问题修复
    • 修复当只读节点升级为主节点时出现的系统表丢失的问题。
    • 修复开启并行查询后,使用范围查询时会导致评估扫描行数过多的问题。
    • 修复当字段类型为BIT时,聚合查询的结果为整型的问题。
    • 修复使用枚举字段后,通过SELECT DISTINCT查询返回的结果不正确的问题。
    • 修复使用EXISTS条件的并行查询结果出现异常的问题。
    • 修复某些情况下只读节点重启失败的问题。
    • 修复当只读节点执行DDL时,因外键关联表在打开表时把正在执行的DDL表也重新打开,导致数据字典中表信息异常的问题。
    • 修复因主备切换后未正确设置节点重启标志,导致全文索引查询失败的问题。
    • 修复因元数据锁(MDL)导致只读节点上日志应用线程被阻塞的问题。
    • 修复因释放的内存被复用导致主备切换后,新的主节点不可用的问题。
    • 修复因polar.info数据问题导致所有节点不可用的问题。
    • 修复分区表自增列异常的问题。
    • 修复主节点出现Redo log被覆盖写导致数据出错的问题。
    • 修复当主节点等待元数据锁(MDL)时,主节点不可用的问题。
    • 修复在使用透明数据加密(TDE)时的相关问题。
    • 修复在执行Lock Table并开启表回收站功能时出现集群不可用的问题。
    • 修复主节点在执行DDL时出现死锁的问题。
    • 修复线程池和连接控制无法同时生效的问题。
  • 8.0.1.1.9(发布日期:20201218)
    类别 说明
    新增功能和性能优化 取消将SPMPLAN设置为关键字,避免出现因表名包含这两个词而无法操作的问题。
  • 8.0.1.1.8(发布日期:20201209)
    类别 说明
    新增功能和性能优化
    • 执行计划管理器新增多计划模式。
    • 新增系统变量rds_ap_threshold参数,来阻拦优化器评估扫描记录数太多的请求。
    • 提升了主节点的脏页落盘效率。
    • 新增Redo多分片写入机制。
    问题修复
    • 修复并行查询执行过程中出现元数据锁(MDL) key空指针的问题。
    • 修复当创建并线线程缓存时出现查询失败的问题。
    • 修复并行查询MRR(Multi-Range Read)返回结果异常的问题。
  • 8.0.1.1.7(发布日期:20201116)
    类别 说明
    新增功能和性能优化
    • 提升了JOIN查询等场景中,被驱动表并行扫描的效率。
    • 新增支持在关闭Binglog情况下,依然能够清理残留的Binglog文件。
    • 新增Slave节点物理复制断开自动检查重连机制,避免出现长时间的物理复制断开。
    • 提升了主节点和只读节点间的切换效率。
    • 支持快速启动包含大量表的集群,方便快速扫描表数据文件。
    问题修复
    • 修复在获取trx->wait_lock的类型时出现集群崩溃的问题。
    • 修复在打开多队列Simulated AIO时,AIO线程存在数量上限的问题。
    • 修复当查询索引遇到初始化查询失败时,无法直接结束查询的问题。
    • 修复Slave节点在SMO(Split Merge Operation)过程中,当前游标的Next Page指向了一个不存在的Page的问题。
    • 修复只读节点会读取到已被主节点覆盖的日志信息的问题。
    • 修复因Redo日志中时间戳间隔过大导致清理Redo文件失败的问题。
    • 修复释放元数据锁(MDL)时未清除相关缓存中表缓存信息的问题。
  • 8.0.1.1.6(发布日期:20200921)
    类别 说明
    新增功能和性能优化
    • 提升了SPM(SQL plan manager)和并行查询的兼容性。
    • 提高了并行查询归并排序的效率。
    • 支持删除操作的计算下推工作。
    • 支持PolarDB Commit Timestamp(CTS)功能。
    问题修复
    • 修复pq_optimize_switch描述不正确的问题。
    • 修复子查询不能被稳定执行的问题。
  • 8.0.1.1.5(发布日期:20200819)
    类别 说明
    新增功能和性能优化
    • 当只读节点和主节点建立复制关系时,新增主节点是否需要立即执行checkpoint策略的功能。
    • 支持简单的范围查询和计算下推工作。
    • PFS(Polar file system)文件系统新增pfs_remount功能,避免了因文件未关闭导致无法挂载PFS文件的问题。
    • 解决了只读节点上由于Parse线程强制停顿造成的性能瓶颈问题,提升了物理复制过程中数据同步的效率。
    • 优化了多连接场景下的Early Lock Release性能,多连接场景下的集群性能提升至原来的10倍。
    问题修复
    • 修复只读节点在连接主节点失败后的不可用问题。
    • 修复在使用全文索引并执行DDL查询语句后,会导致的只读节点在主备切换后不可用问题。
    • 修复执行UNDO TRUNCATE命令后导致的无法进行purge binlog问题。
    • 修复只读节点和主节点间统计信息不一致的问题。
  • 8.0.1.1.4(发布日期:20200704)
    类别 说明
    新增功能和性能优化
    • 支持并行DDL,提升DDL执行效率。
    • 支持Simulated AIO动态调整多队列的长度。
    • 支持全文搜索(Full Text Search,FTS)缓存一致性。
    • WHERE条件中支持含有聚集函数的子查询,且若子查询支持基于索引的扫描,那么该子查询还可以支持并行执行。
    • 临时表和普通表一样支持进行lock mode检查。
    问题修复
    • 修复当主节点降为备节点时,因部分DDL仍在复制中而导致的集群不可用问题。
    • 修复因为开启线程池导致的性能下降问题。
    • 修复purge binlog导致死锁的问题。
    • 修复若干内存泄漏的问题。
    • 修复若干在高可用场景中出现的问题。
  • 8.0.1.1.3(发布日期:20200529)
    类别 说明
    新增功能和性能优化
    • 增强安全性(如密码管理)。
    • 提升如下场景中并行查询(Parallel Query)的性能:
      • 增强GROUP BY、UNION、SELECT COUNT(*) FROM <table>场景中的并行查询性能。
      • 并行子查询中,执行计划使用了共享InnoDB临时表的场景。
      • 计划中使用VIEW/DERIVED TEMP TABLE的场景。
      • 并行查询支持定义临时表的场景, 但有如下限制:
        • 不支持临时表上不带条件的SELECT COUNT(*)
        • 不支持在Memory Engine临时表的并行。
    • 支持新版本的审计日志格式,增加了VIP信息。
    • 支持索引页面空闲比率控制,减少SMO概率和latch竞争,提升写入性能。
    • 支持多队列的模拟AIO,增强刷脏和写入性能。
    • 支持在core文件中不记录buffer pool的内容,降低core文件的大小,避免影响线上服务。
    问题修复
    • 修复当达到TempTable最大内存限制的时候,原来逻辑中TempTable存储引擎会误报out-of-memory的错误,而不是回退到基于磁盘存储上的问题。
    • 修复当排序缓存(sort buffer size)参数设置过小时,在InnoDB全文搜索中使用ORDER BY会导致集群不可用的问题。
    • 修复在临时表出现同名列情况下,无法找到对应的正确Field的问题。
    • 修复并行查询中,当使用MAX/MIN函数结合GROUP BY并使用松散扫描数据时,无法被Kill的问题。
    • 修复故障切换时的若干问题。
    • 修复并行查询下的若干问题。
    • 修复使用SHOW BINARY LOGS命令可能会阻碍事务提交的问题。
  • 8.0.1.1.2(发布日期:20200409)
    类别 说明
    新增功能和性能优化
    • 支持基于字符串前缀的排序优化方法(即优先使用字符串前缀进行排序,如果前缀相同,再使用字符串的全长进行排序)。对长字符类型的列进行排序时,可以通过指定该列值最大不同的前缀长度来加速比较,减少排序时间。
    • 新增在如下场景中支持并行查询的能力:
      • 支持Range Cost的估算模型的并行。
      • 支持Temporary Table表的并行。
      • 支持Semijoin物化Lookup和Scan的策略下的并行。
    • 增加了3类可以被PolarDB智能路由用来支持连接保持功能的会话状态tracker;同时,tracker打开后可以跟踪会话中user variable的改变、临时表的创建和删除、SQL语句中的prepare和dealloction操作等。
    • 优化DDL过程中Drop AHI的性能,降低DDL对集群性能的影响。
    • 增加表回收站的功能,避免出现因误删导致数据丢失的情况。
    • 优化在大缓冲池临时表空间truncate的表现,降低临时表操作对集群性能的影响。
    问题修复
    • 修复当聚合函数存在于IF函数中的场景下执行ROLLUP的问题。
    • 修复Blob类型在排序过程中的问题。
    • 修复并行中使用Prepare中包含聚合函数SQL的特定问题。
    • 修复并行查询下的若干问题。
    • 修复可能会清除过多Redo日志的问题。
    • 修复RO节点上Redo日志的相关问题。
  • 8.0.1.1.1(发布日期:20200328)
    类别 说明
    新增功能和性能优化
    • 支持在子查询含有ROLLUP的场景中使用并行。
    • 支持语句并发控制功能。
    • 增加POLARDB_INDEX的Hint。
    • 优化主节点和只读节点同步延迟。
    • 支持线程池(Thread Pool)
    • 支持TDE keyring_rds插件。
    • 支持全球数据库(GDN)
    • 优化无锁事务系统, 优化读写性能。
    问题修复
    • 修复并行查询下的若干问题。
    • 修复ONLINE DDL过程中统计信息可能为0的问题。
    • 优化用户态文件系统,加速集群启动。
    • 修复innodb_flush_method被设置为all_o_direct时可能会导致集群不可用的问题。
    • 修复事务提交放锁时可能会导致集群不可用的问题。
    • 修复慢日志truncate时可能会阻塞用户请求的问题。
    • 修复压缩页在RO上可能会导致集群不可用的问题。
    • 修复线程池可能会错误断开杀复制连接的问题。
  • 8.0.1.1.0(发布日期:20200205)
    类别 说明
    新增功能和性能优化
    • 增强并行查询的能力,支持企业级分析ROLLUP函数的并行计算。
    • 增加优化器的估算模型能力(如增强条件过滤的选择率和对并行查询的代价估算模型),被执行的SQL可以根据Selectivity更准确地选择并行计划还是串行计划。
    • 支持对按照FIFO模式分配工作线程的并行工作线程进行统一管理,避免大量并行查询造成系统资源耗尽的问题。
    问题修复
    • 修复并行查询的内存相关系列问题。
    • 修复并行查询下的若干不稳定问题。
  • 8.0.1.0.6(发布日期:20200101)
    类别 说明
    问题修复
    • 修复在主节点降为备节点时Binlog Index文件未关闭的问题。
    • 修复RO节点在访问已经被清除的Undo页时会出现集群不可用的问题。
    • 修复在RO节点进行主备切换时,后台线程访问到不存在表空间页面的问题。
    • 修复在集群关闭时由于日志线程已经退出之后还在写Redo日志导致的集群不可用问题。
  • 8.0.1.0.5(发布日期:20191203)
    类别 说明
    新增功能和性能优化
    • Optimizer trace中支持并行查询的相关信息(例如您可以通过Optimizer trace的工具分析为何使用并行或者未使用并行的原因)。
    • 增加并行查询相关的Hint,支持通过SQL Hint的方式显性启用并行和指定并行度。
    • 支持在READ COMMITTED下INSERT..SELECT的并行扫描,您可以使用INSERT..SELECT语句将导入的数据加入到另一个表。
    问题修复
    • 修复并行查询下的若干问题。
    • 修复在主备切换时,备节点升级为主节点时出现的节点不可用的问题。
    • 修复在主备切换时因使用部分DDL语句引起故障的问题。
    • 修复锁限制导致报错too many connection error的问题。

PolarDB MySQL引擎5.7版本发布日志

PolarDB MySQL引擎 5.7支持如下版本:

  • 5.7.1.0.15(发布日期:20211117)
    类别 说明
    新增功能和性能优化 新增Fast Query Cache功能。具体请参见Fast Query Cache
  • 5.7.1.0.14(发布日期:20211019)
    类别 说明
    问题修复
    • 提供一个optimizer hint使得用户可以控制是否强制视图进行merge。具体请参考MySQL官方文档
    • 支持SELECT FOR UPDATE WAIT N语法。 其中N表示等待超时的秒数,仅针对单个行锁。如果一个查询需要锁定多行时,系统不会对多个行进行时间累计,仅对单行进行超时检测。等待时间超过N秒,系统则返回锁等待超时错误:Lock wait timeout exceeded; try restarting transaction
  • 5.7.1.0.13(发布日期:20210910)
    类别 说明
    新增功能和性能优化 GDN从集群中的只读节点支持通过alter polar to slave命令切换成主节点,从而实现从集群的高可用。
  • 5.7.1.0.12(发布日期:20210827)
    类别 说明
    新增功能和性能优化
    问题修复
    • 修复Statement Concurrency Control指定库表的规则无法匹配的问题。
    • 加快只读节点和从集群应用redo log,提升主节点的同步效率。
  • 5.7.1.0.11(发布日期:20210708)
    类别 说明
    新增功能和性能优化 新增polar_replica_work_on_nonblock_mdl_mode参数。开启该参数时,只读节点上的RU/RC隔离级别的未提交事务将不再阻塞主节点上的DDL操作,同时只读节点上将不在保证表定义的事务特性。
  • 5.7.1.0.10(发布日期:20210615)
    类别 说明
    新增功能和性能优化 兼容MySQL 8.0,支持SELECT FOR UPDATE/SHARE SKIP LOCKED/NOWAIT语法。具体请参见MySQL 8.0
    问题修复 RO节点支持将innodb temp table数据落盘。
  • 5.7.1.0.9(发布日期:20210513)
    类别 说明
    问题修复
    • 多表场景下,支持存储引擎快速启动。
    • 修复了在虚拟列上回滚Update操作导致数据库崩溃的问题。
  • 5.7.1.0.8(发布日期:20210419)
    类别 说明
    新增功能和性能优化 当只读节点和主节点建立复制关系时,新增主节点是否需要立即执行checkpoint策略的功能。
    问题修复
    • 将KICKOUT修改为非保留关键字。
    • 修复主备切换时,TDE加密表中的加密信息可能丢失导致解密失败的问题。
  • 5.7.1.0.7(发布日期:20210310)
    类别 说明
    新增功能和性能优化
    • 新增并行DDL功能,提升DDL性能,详情请参见并行DDL
    • 新增innodb_buffer_pool_in_core_file参数,以便将buffer pool从core file中移除。
    • Index Hints新增支持如下关键字,以便优化器处理查询时使用或忽略指定的索引:
      • GROUP_INDEXNO_GROUP_INDEX:使用或忽略指定的索引以进行带有GROUP BY操作的索引扫描。
      • INDEXNO_INDEX:强制服务器使用或忽略指定索引。
      • JOIN_INDEXNO_JOIN_INDEX:强制MySQL对任何访问方法使用或忽略指定的索引。
    • Join Order Hint新增支持如下关键字,以便优化器选择合适的表连接顺序:
      • JOIN_FIXED_ORDER:强制优化器使用FROM子句中出现的顺序来连接表。
      • JOIN_ORDER:指导优化器使用指定的表顺序连接表。 该Hint适用于命名表。 优化器可以将未命名的表放在连接顺序中的任何位置,包括指定表之间。
      • JOIN_PREFIX:指导优化器为连接执行计划的前几个表使用指定的表顺序来连接表。 该Hint适用于命名表。 优化器会将所有的其他表放在命名表之后。
      • JOIN_SUFFIX:指导优化器为连接执行计划的最后几张表使用指定的表顺序来连接表。 该Hint适用于命名表。 优化器会将所有的其他表放在命名表之前。
    问题修复
    • 将token number的对照表进行分区并预留部分token,以修复插入新token后,同一语句digest hash值不一致的问题。
    • 修复变配过程中,由于只读节点无法在主节点上成功注册,导致变配失败的问题。
    • 修复在打开session_track_temporary_tables系统变量的情况下,在存储过程中创建或删除临时表会导致集群异常退出的问题。
  • 5.7.1.0.6.3(发布日期:20210222)
    类别 说明
    问题修复 修复部分场景下SHOW PROCESSLIST结果不正确的问题。
  • 5.7.1.0.6.2(发布日期:20210210)
    类别 说明
    问题修复 修复在只读节点上执行使用了Index Merge优化的查询时,偶发性地出现1032错误码Can't find record in TABLE的问题。
  • 5.7.1.0.6.1(发布日期:20210202)
    类别 说明
    问题修复
    • 修复读写节点上刷脏异常的问题。
    • 修复在已执行过主备切换的集群上,可能无法再进行更换主可用区操作的问题。
    • 修复由于执行SHOW PROCESSLIST时错误调用了THD(Thread Descriptor),导致的数据库崩溃问题。
  • 5.7.1.0.6(发布日期:20210129)
    类别 说明
    新增功能和性能优化
    • 新增支持Statement Queue功能,详情请参见Statement Queue
    • 新增支持秒级加字段(Instant add column)功能,详情请参见秒级加字段
    • 新增支持Returning功能,详情请参见Returning
    问题修复 修复升级PolarDB内核版本时,系统表丢失的问题。
  • 5.7.1.0.5(发布日期:20201231)
    类别 说明
    问题修复
    • 修复主节点修改密钥后,在只读节点上进行查询时,只读节点会崩溃的问题。
    • 修复在只读节点上分析分区表时,只读节点会崩溃的问题。
    • 修复主备切换后,由于表空间不一致导致新的主节点会崩溃的问题。
  • 5.7.1.0.4(发布日期:20201117)
    类别 说明
    问题修复
    • 修复主备切换后,无法将数据插入临时表的问题。
    • 修复当在只读节点上扩展临时表空间时,只读节点不可用的问题。
    • 修复Simulated AIO不能正常工作的问题。
  • 5.7.1.0.3(发布日期:20201021)
    类别 说明
    新增功能和性能优化 支持透明数据加密TDE功能。
    问题修复
    • 修复只读节点和主节点间统计信息不一致的问题。
    • 修复SHOW PROCESSLIST返回结果会显示错误信息的问题。
  • 5.7.1.0.2(发布日期:20200828)
    类别 说明
    问题修复
    • 修复从RDS MySQL 5.7迁移后不能扩展.IDB文件的问题。
    • 禁止在主备切换时执行CF_STATUS_COMMAND相关命令,以保证主备切换的正常运行。
    • 修复因后台更新统计信息线程和Truncate逻辑出现Page争用,导致主节点不可用的问题。
  • 5.7.1.0.1(发布日期:20200730)
    类别 说明
    问题修复
    • 修复当部分PolarDB专属命令缺少对应命令数字时,导致maxscale不能正常访问的问题。
    • 修复通过从回收站恢复方式创建的集群由于找不到表空间,导致集群不可用的问题。
    • 修复执行promote replica命令时,有文件未关闭导致unmount PFS文件崩溃的问题。

PolarDB MySQL引擎5.6版本发布日志

PolarDB MySQL引擎5.6支持如下版本:

  • 5.6.1.0.30(发布日期:20211110)
    类别 说明
    问题修复
    • 修复分区表统计信息不稳定的问题。
    • 修复报文长度为251时,数字长度编码错误的问题。
  • 5.6.1.0.29(发布日期:20210909)
    类别 说明
    新增功能和性能优化
    • 数据库内核支持事务断点续传。
    • 支持Fast Query Cache。具体请参见Fast Query Cache
    问题修复 加快只读节点和从集群应用redo log,提升主节点的同步效率。
  • 5.6.1.0.28(发布日期:20210723)
    类别 说明
    新增功能和性能优化 新增polar_replica_work_on_nonblock_mdl_mode参数。开启该参数时,只读节点上的RU/RC隔离级别的未提交事务将不再阻塞主节点上的DDL操作,同时只读节点上将不在保证表定义的事务特性。
    问题修复 优化表空间元信息的加载速度。对于拥有百万级以上表文件的数据库实例,能大幅缩短主节点崩溃的恢复时间以及从节点的启动时间。
  • 5.6.1.0.27(发布日期:20210601)
    类别 说明
    问题修复
    • 优化Standby节点在执行truncate polar logs lsn命令删除文件时按照4K对齐。
    • 将KICKOUT修改为非保留关键字。
    • 调整只读节点在首次注册到主节点时是否要立即触发checkpoint策略。当LSN差值小于特定的阈值时,可不触发checkpoint策略。
    • load polar logs支持添加条件语句。
    • 修复autoinc重复的问题。
  • 5.6.1.0.26(发布日期:20210319)
    类别 说明
    问题修复
    • 修复当执行FLUSH PRIVILEGES或FLUSH GRANT命令来批量授权时,可能出现连接失败的问题。
    • 修复部分情况下由于分区表估计逻辑提前中止,导致的分区表估计错误的问题。
    • 修复部分场景下SHOW PROCESSLIST结果不正确的问题。
    • 修复在打开session_track_temporary_tables系统变量的情况下,在存储过程中创建或删除临时表会导致集群不可用的问题。
  • 5.6.1.0.25(发布日期:20210205)
    类别 说明
    新增功能和性能优化 优化库表级恢复功能,提升数据恢复速度。
    问题修复
    • 修复只读节点读取到已经TRUNCATE的undo page后会导致节点不可用的问题。
    • 修复在已执行过主备切换的集群上,可能无法再进行更换主可用区操作的问题。
  • 5.6.1.0.24(发布日期:20210122)
    类别 说明
    新增功能和性能优化
    • 优化了PolarDB引擎初始化进程,缩短大表场景下引擎的启动时间。
    • 新增支持在基本信息页查看集群的内核版本信息。
    问题修复
    • 修复从RDS迁移至PolarDB过程中,无法TRUNCATE Undo Log的问题。
    • 修复无法新增系统表的问题。
    • 修复库表恢复时主节点不可用的问题。
    • 修复当查询结果为DECIMAL类型时,排序不正确的问题。
    • 修复若干在特殊情况下可能出现的MySQL服务进程崩溃的问题。
  • 5.6.1.0.23(发布日期:20210104)
    类别 说明
    问题修复 修复只读节点上的内存泄漏问题。
  • 5.6.1.0.22(发布日期:20201225)
    类别 说明
    新增功能和性能优化 PFS新增支持目录索引,以提升海量表场景下的集群性能。
    问题修复
    • 修复某些情况下,主备切换后节点角色不对导致集群不可用的问题。
    • 修复Statement Queue未初始化导致只读节点崩溃的问题。
    • 修复新增系统表在主备切换后没有初始化的问题。
    • 修复线程池和连接控制(Connection Control )功能会同时开启的问题。
    • 修复全文索引存在重复ID导致集群不可用的问题。
    • 修复某些情况下只读节点查询失败的问题。
    • 修复日志复制线程退出异常造成复制中断的问题。
  • 5.6.1.0.21(发布日期:20201112)
    类别 说明
    新增功能和性能优化
    问题修复
    • 修复SELECT语句在使用DYNAMIC RANGE AND INDEX MERGE情况下出现OOM(Out Of Memory)的问题。
    • 修复某些情况下创建或删除账号导致集群崩溃的问题。
    • 修复某些情况下无法重连STANDBY节点的问题。
    • 修复当主备切换发生异常时导致集群无法启动的问题。
    • 修复某些情况下Binlog线程状态不正确的问题。
  • 5.6.1.0.20(发布日期:20201027)
    类别 说明
    新增功能和性能优化 提升某些情况下物理复制的效率。
    问题修复
    • 修复某些情况下执行CREATE TABLE... SELECT命令会导致集群崩溃的问题。
    • 修复存储过程中,因派生表使用次数过多导致内存泄露的问题。
    • 修复使用按时间点恢复数据时,恢复时间不准或恢复失败的问题。
    • 修复PolarFS异常日志输出过多的问题。
    • 修复关闭外键检查后,执行DDL导致表丢失的问题。
    • 修复同时TRUNCATE多个临时表导致只读节点崩溃的问题。
  • 20200831(发布日期:20200922)
    类别 说明
    新增功能和性能优化 PFS支持本地盘,支持挂载可写快照及性能优化。
    问题修复
    • 修复某些情况下使用Statement Queue功能会导致集群崩溃的问题。
    • 修复Corefiles占用过多空间的问题。
    • 修复只读节点和主节点间统计信息不一致的问题。
    • 修复只读节点切换为主节点后,其它只读节点无法连接新主节点的问题。
    • 修复只读节点和主节点间全文索引缓存不一致的问题。
  • 20200616(发布日期:20200701)
    类别 说明
    新增功能和性能优化
    • 支持Statement Queue功能,详情请参见Statement Queue
    • 优化RO和RW之间的复制延迟。
    • 支持复制LOCK TABLE时的MDL锁。
    问题修复
    • 修复MDL锁复制中的问题。
    • 修复FTS INDEX创建在系统表的问题。
    • 修复热点更新优化的一些问题。
  • 20200601(发布日期:20200605)
    类别 说明
    新增功能和性能优化
    问题修复 修复线程池(Thread Pool)带来的写性能下降的问题。
  • 20200507(发布日期:20200513)
    类别 说明
    新增功能和性能优化
    • 增加并发控制功能。
    • 增加一个参数控制索引页的空闲空间。
    • 优化Simulate AIO。
    问题修复
    • 修复bool flag类导致的性能退化问题。
    • 修复pfs_umount表没有关闭导致集群不可用的问题。

版本升级

  • DB Version和Minor Version升级

    PolarDB暂时不提供直接升级DB Version和Minor Version版本(如您无法将PolarDB MySQL引擎 5.6版本直接升级到PolarDB MySQL引擎 8.0版本,同时您也无法将PolarDB MySQL引擎 8.0.1版本直接升级到8.0.2版本),但您可以通过DTS将数据从源版本迁移或同步到目标版本的集群完成升级,关于如何迁移或同步数据,请参见数据迁移或同步方案概览

  • Revision Version升级

    关于如何升级Revision Version版本,请参见Revision Version升级