小版本 | 社区版本 | 说明 | 版本过期时间 |
20250531 | 8.0.36 | 新特性 更新CURL版本到8.14.1。 支持在大事务执行过程中实时传输到备库,避免半同步复制实例提交大事务引起的性能抖动问题。 支持新Hint语法(WAIT N 和NO_WAIT ),DML和DDL可以通过Hint设置MDL等待时间。 支持非阻塞DDL,避免在执行DDL过程中因获取MDL锁超时导致DML阻塞。 支持通过轻量化的performance_schema 查看DDL语句的执行状态以及MDL锁状态。 支持对未执行过INSTANT DDL的表快速解析行记录。 支持在半同步复制模式下开启Binlog in redo和Binlog Parallel Flush。 支持用户在慢日志的start_time 字段记录SQL语句的结束时间。 新增热点行更新的性能优化功能。 优化DDL执行过程中,因唯一键冲突导致DDL执行失败的问题。 在Innodb status 中增加活跃事务数和事务平均执行时间信息。
性能优化 Bug修复 修复reset slave all 执行慢的问题。 修复binlog_transaction_compression_level_zstd 参数未生效的问题。 修复更新instant drop 的表导致Crash的问题。 修复writeset 支持外键功能中,INSERT 语句不指定自增列键值时可能出现的复制中断问题。 修复开启general log 版本升级耗时长问题。 修复join_buffer_size 较小的情况下可能导致Hash Anti Join 结果不正确的问题。 修复optimize table 不更新表状态的问题。 修复statement id 溢出的问题。 修复SEQUENCE引擎Crash问题。
| —— |
20241231 | 8.0.36 | 新特性 CURL版本更新为8.11.1。 新增列加密功能支持通过KMS管理密钥。 新增列加密功能支持AES 256算法。
性能优化 Bug修复 修复rename 操作导致的表状态(table status)错误问题。 修正错误日志(error log)中服务器ID(server ID)不正确的问题。 修复慢查询日志(slow log)中记录存储过程调用时start_time 字段不准确的问题。 解决MySQL重启后,information_schema.files 中undo表空间信息展示不准确的问题。 修复MySQL重启时undo表空间自动截断(truncate)失效的问题。 修复大版本升级过程中,存储过程(routine)、事件(event)和触发器(trigger)相关错误日志缺失的问题。 解决大版本升级过程中存在的内存泄漏问题。 修复在创建或修改事件(event)和触发器(trigger)时未检查乱码字符的问题。
| —— |
20241130 | 8.0.36 | 新特性 OpenSSL版本更新为3.0.15。 curl版本更新为8.9.1。
性能优化 Bug修复 修复OSS归档表引起的Crash的问题。 修复EncDB列加密密文碰撞问题。 修复Optimize失败也记录Binlog的问题。 修复社区Bug #96236,解决了内部临时表耗尽Buffer Pool导致实例不可用的问题。 修复取消Buffer Pool缩容时,可能造成实例Crash的问题。 修复多query_block中引用CTE列且物化CTE表导致的Crash或查询结果错乱的问题。 修复视图定义中存在子查询且定义者不存在或权限不足导致的Crash问题。 修复使用多值索引时可能触发的Crash问题。 修复fts中计算Ranking时的Crash问题。
| —— |
20241031 | 8.0.36 | | —— |
20240930 | 8.0.36 | | —— |
20240731 | 8.0.36 | 新特性 性能优化 优化分配GTID过程,高并发场景下提升性能。 修复MD5计算在高并发场景下的性能问题。 优化General Log自动修复导致实例无法连接的问题。 优化实例启动过程中Tablespace元数据的获取和校验,提升海量表实例的启动速度。 优化DROP TABLE和TRUNCATE TABLE持锁时间。新增innodb_rds_drop_ahi_ahead参数,开启该参数时,将在DROP或TRUNCATE InnoDB表之前删除对该表建立的自适应哈希索引,从而缩短DROP TABLE和TRUNCATE TABLE语句执行过程中InnoDB元数据锁的持有时间,避免阻塞其他SQL。
Bug修复 修复带Parser建全文索引时Crash的问题。 修复开启Encdb后,Plugin接受NULL参数时Crash的问题。 修复OSS归档表的Crash的问题。 修复DDL过程消耗Page Cache的问题。 修复审计日志中INSERT和UPDATE语句执行失败时,更新行数不准确的问题。 修复ALTER TABLE添加自增列为主键且降序排列导致Crash的问题。 修复Optimize TABLE失败仍记录Binlog的问题。
| —— |
20240630 | 8.0.36 | | —— |
20240615 | 8.0.36 | | —— |
20240531 | 8.0.36 | 新特性 性能优化 Bug修复 修复Binlog Cache Free Flush 生成的GTID Log Event 时间戳错误的问题。 修复InnoDB表中,显式创建名为FTS_DOC_ID 的列,导致5.7到8.0的大版本升级失败的问题。 修复EncDB返回数据类型错乱的问题。 修复recycle_bin参数关闭后,只读实例上依然会触发表回收的问题。 修复innodb_activity_count 可能为负数的问题。详情请参见社区Bug #114180。 修复并行读分区表导致并行线程计数泄露,造成并行读失效的问题。详情请参见社区Bug #114154。
| —— |
20240522 | 8.0.34 | | —— |
20240229 | 8.0.34 | | —— |
20240131 | 8.0.34 | | —— |
20230930 | 8.0.34 |
重要 OpenSSL版本升级到3.0.10后,默认禁用TLSv1、TLSv1.1协议。出于兼容性考虑,RDS MySQL通过调整ssl_cipher参数默认值为 "ALL:@SECLEVEL=0" ,恢复了对TLSv1.0和TLSv1.1的支持。 如果您的业务确认只使用TLSv1.2及以上版本的TLS协议,建议您在RDS控制台设置ssl_cipher参数为"" (空串),以获得更高的安全级别保障。 新特性 合并官方8.0.32、8.0.33、8.0.34变更。 将OpenSSL版本从1.1.1u升级到3.0.10。 新增内置函数SM3() 。 Buffer Pool Extension支持Online Resize。 修改参数ssl_cipher的默认值为"ALL:@SECLEVEL=0" 。
性能优化 支持Binlog cache free flush功能。 此功能在事务提交阶段,将大事务的Binlog cache临时文件直接转为Binlog文件,可以减少大事务提交时持有全局Binlog锁的时间,并减缓实例的IO压力,进而防止实例因长时间不可写Binlog或IO hang而导致HA切换。 优化1s复制延迟问题。 优化Buffer Pool Extension对内存的使用。 优化并行读在innodb_use_native_aio=off时的IO效率。详情请参见社区Bug #112137。
Bug修复
| —— |
20230914 | 8.0.31 | | —— |
20230630 | 8.0.31 | 新特性 合并官方8.0.31变更。 支持取消正在运行的Buffer Pool Online Resize。 Statement Concurrency Control功能新增模板级别并发控制能力,可以限制相同模板SQL的执行。详情请参见Statement Concurrency Control。 更新zlib版本至1.2.13。 更新OpenSSL版本至1.1.1u。 新增状态项Innodb_redo_file_used_ratio,用于展示redo文件已使用比例。 X-Engine支持Arm环境部署。
性能优化 Bug修复 修复实例重启后XA事务不能正确恢复的问题。详情请参见社区Bug #110533。 修复Thread Pool因sql_type错误导致的实例异常重启。 修复安装包中调试信息丢失的问题。详情请参见社区Bug #109560。 修复MySQL 5.6中产生的临时表导致MySQL 5.7升级MySQL 8.0失败的问题。 修复X-Engine在死锁场景下概率性丢失事务的问题。 修复Binlog in Redo和Binlog Parallel Flush在长时间高负载运行时,事务无法提交的问题。
| —— |
20230620 | 8.0.28 | | —— |
20230610 | 8.0.28 | | —— |
20230324 | 8.0.28 | | —— |
20221231 | 8.0.28 | 新特性 支持在sync_binlog不为1时,开启Binlog并行写入的功能。开启后,能够提高Binlog在高并发业务模型下的写入性能,大幅提升实例的写性能。 支持MGR(MySQL Group Replication)在单主模式下,强制清理认证信息的功能(默认开启,可手动关闭)。通过强制清理认证信息,可以解决高业务压力、高延迟场景下的周期性性能抖动、内存占用高和新节点加入集群时性能跌零的问题。 当MGR的主动选主命令发起后,如果有事务的执行时间超出了SQL语句中配置的超时时间,该事务会被强制回滚,防止阻塞选主操作,提高了选主成功率。 更新OpenSSL版本至1.1.1s。
性能优化 Bug修复 修复EXPLAIN语句与包含派生表的多表更新语句同时执行时,可能导致服务器崩溃的问题。 修复使用多值索引时,SELECT COUNT(*) 执行结果不准确的问题。详情请参见社区Bug #104898。 修复对具有JSON列的表添加多值索引后,查询只返回部分结果集的问题。详情请参见社区Bug #106621。 修复Clone_persist_gtid线程内存泄露问题。详情请参见社区Bug #107991。 修复在能力位CLIENT_FOUND_ROWS(默认关闭)开启的情况下,执行UPDATE和INSERT语句时,审计日志中更新行数不准确的问题。 修复Server层和InnoDB层列名大小写不匹配导致的从MySQL 5.7到MySQL 8.0升级失败的问题。 修复表、字段和索引注释中无效字符串导致的从MySQL 5.7到MySQL 8.0升级失败的问题。
| —— |
20221121 | 8.0.28 | | —— |
20220830 | 8.0.28 | | —— |
20220730 | 8.0.25 | | —— |
20220530 | 8.0.25 | 新特性 对于云盘单节点实例,增加通过Redo日志实现增量备份和按任意时间点还原的功能。 增加 Persist Binlog Into Redo V2 功能,对大并发做了优化,大并发下有更好的性能。 优化SSL加密功能,修复部分内部错误。 取消普通账户对sys、performance_schema库的操作权限。 错误日志中加入FLUSH TABLES WITH READ LOCK 和UNLOCK TABLES 日志记录,以便于线上排查问题。
性能优化 提升缓冲池初始化的性能。 Crash Recovery过程中,将未决事务的回滚由同步回滚优化为异步回滚,提升 RTO(Recovery Time Objective)。 优化AHI(Adaptive Hash Index)的内存使用和更新速度。 双向循环复制优化,备实例向主实例发送binlog时跳过属于主实例的事务,减少循环复制的网络流量。 加快实例崩溃后重新拉起的速度。
Bug修复 修复MySQL 5.7到MySQL 8.0大版本升级过程中mysql.events表迁移失败的问题。 修复MySQL 5.6实例逐级升级大版本到MySQL 8.0过程中删除全文索引表可能导致崩溃的问题。 修复MDL锁竞争较高的业务情景下可能发生的实例崩溃问题。 修复xengine_record的解析错误问题。 修复X-Engine构建索引时压缩失败的问题。 修正slow_log表内start_time列的数据。 优化编译速度,修复编译警告。
| —— |
20220523 | 8.0.25 | | —— |
20220331 | 8.0.25 | 新特性 Bug修复 修复KILL会话时提示Unknown thread id 的问题。 修复rds_expose_priv_list参数重启后不生效的问题。 修复Binlog in Redo功能阻塞CheckPoint位点推进的问题。 合并MySQL官方针对社区版8.0.25的Bug修复(Bug#33341080、Bug#32962511)。
| —— |
20210930 | 8.0.25 |
重要 官方8.0.22版本中引入了derived_condition_pushdown特性,该特性有效减少了派生表内部的扫描数据量,提高了查询速度。但由于该特性忽略了用户参数(User Variables),导致使用了用户参数的查询返回空值,无法正常完成查询。更多信息,请参见官方文档。 解决方法:连接MySQL数据库,执行set optimizer_switch="derived_condition_pushdown=off"; 命令关闭该特性即可。 新特性 合并官方8.0.25变更。 引入recovery_apply_binlog 机制,使XA事务支持Crash Safe。 审计日志支持V3版本,增加单独一列事务ID,增加ext字段以存放SQL被截断的标识。 允许将新的SEQUENCE类型定义为TIMESTAMP SEQUENCE,相比DIGITAL SEQUENCE原始序列,构建的格式不同。 语法:CREATE SEQUENCE seq CACHE [缓存大小] TIMESTAMP; 对高权限账号放开mysql.slow_log 和mysql.general_log 表的truncate 权限。 增加Native Flashback Query功能,支持直接通过SQL语句进行回滚查询和数据恢复。 增加自研X-Tree作为X-Engine MemTable的索引,同时支持高性能的写入,点查询和范围查询。 支持自由调整Buffer Pool大小,优化调整过程,避免影响实例性能。 支持异步多块读(Multi Blocks Read)功能。在SQL语句中添加HINT/*+ MULTI_BLOCKS(n) */ 可预读多个数据页。 优化扫描Buffer Pool LRU链表获取空闲页的逻辑。 支持带主键或唯一键的UPDATE 和DELETE 语句自动进入CCL队列。 在performance_schema.events_statements_summary_by_digest_supplement表中增加TCP写入等待时长。 允许DDL语句以In Place方式执行时记录redo日志。 disabled_storage_engines参数中默认加入MyISAM,即不再支持创建MyISAM引擎的表。
Bug修复 修复SHOW GLOBAL STATUS 的执行结果出现异常的问题。 修复Jemalloc Profiling功能开启导致实例无法启动的问题。 修复INSERT INTO SELECT 语句使用SEQUENCE导致实例崩溃的问题。 回收dbms_recycle.restore_table 权限。 I_S.INDEX_STATISTICS 表新增索引扫描次数。
I_S.PERF_STATISTICS 表增加更多性能数据指标。
优化用户自定义函数(nextval 和currval )与SEQUENCE 系统函数发生冲突时的调用性能。 X-Engine支持即时响应用户发起的KILL SESSION 请求。 X-Engine修复在极端场景下,部分DDL操作失败后处于不一致状态的问题。 增加栈溢出保护机制。 修复persist_binlog_to_redo 和X-Engine 同时开启时,mysqld启动失败的问题。 修复pthread_getattr_np 导致的内存泄漏问题。 自动清理Performance Agent 文件产生的Page Cache。 修复Statement Outline功能的内部错误。 修复语句执行错误时session tracker重置的问题。 调整ccl_wait_timeout 变量名称。
说明 ccl_wait_timeout 指被限流的语句的最长等待时间(单位:秒)。
修复由于进程退出时未清理socket文件导致重启失败的问题。 调整用户自定义函数(nextval或currval)的优先级。 修复net_length_size 返回的251错误。
| —— |
20201031 | 8.0.18 | 新特性 性能优化 Bug修复 修复唯一索引键值过大导致ASSERT异常的问题。 修复无法终止COM_DAEMON守护进程的问题。 修复FTS查询导致缓存溢出的问题。 修复Instant-DDL崩溃后回滚出错的问题。
| 20240601 |
20200831 | 8.0.18 | 新特性 性能优化 Bug修复 修复解析器递归时缺少堆内存大小检查的问题。 修复TDE打开时无法修改表定义的问题。 修复事件调度程序内存泄露的问题。
| 20240601 |
20200630 | 8.0.18 | | 20240601 |
20200430 | 8.0.18 | 新特性 性能优化 在操作InnoDB临时表时仅扫描脏页列表,而不是扫描整个Buffer Pool列表。 兼容MySQL 5.6,将全局参数opt_readonly_trans_implicit_commit重命名为rds_disable_explicit_trans。 在实例升级期间,不记录升级相关日志到审计日志。 降低在X-Engine引擎表上执行DDL操作消耗的内存。
Bug修复
| 20240601 |
20200331 | 8.0.18 | 新特性 性能优化 默认关闭TCP错误的输出。 提高线程池默认配置下的性能。
Bug修复
| 20240601 |
20200229 | 8.0.16 | 新特性 性能优化 Bug修复 在低于4.9的Linux Kernel中禁用ppoll,使用poll代替。 修复wrap_sm4_encrypt函数调用错误问题。 修复在滚动审核日志时持有全局变量锁的问题。 修复恢复不一致性检查的问题。 修复io_statistics表出现错误time值的问题。 修复无效压缩算法导致崩溃的问题。 修复用户列与5.6不兼容的问题。 修复缓冲区计数泄漏问题。
| 20240601 |
20200110 | 8.0.16 | | 20240601 |
20191225 | 8.0.16 | 新特性 性能优化 Bug修复 修复慢日志刷新的问题。 修复锁定范围不正确的问题。 修复TDE的Select函数导致的核心转储问题。
| 20240601 |
20191115 | 8.0.16 | | 20240601 |
20191101 | 8.0.16 | 新特性 为TDE添加SM4加密算法。 保护备实例信息:拥有SUPER或REPLICATION_SLAVE_ADMIN权限的用户才能插入/删除/修改表slave_master_info、slave_relay_log_info、slave_worker_info。 提高自动递增键的优先级:如果表中没有主键或非空唯一键,具有自动增量的非空键将是第一候选项。 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。 Redo Log刷新到磁盘之前先将Binlog文件刷新到磁盘。 实例被锁定时也会影响临时表。 添加新的基于LSM树的事务存储引擎X-Engine。
性能优化
| 20240601 |
20191015 | 8.0.16 | 新特性 TDE:支持透明数据加密TDE(Transparent Data Encryption)功能,可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。 Returning:Returning功能支持DML语句返回Resultset,同时提供了工具包(DBMS_TRANS)便于您快捷使用。 强制将引擎从MyISAM或MEMORY转换为InnoDB:如果全局变量force_mysiam_to_innodb或force_memory_to_innodb为ON,则创建和修改表时会将表引擎从MyISAM或MEMORY转换为InnoDB。 禁止非高权限账号切换主备实例。 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮循方式,保留最近的秒级性能数据。 Innodb mutex timeout configurable:可配置全局变量innodb_fatal_semaphore_wait_threshold,默认值:600。 忽略索引提示错误:可配置全局变量ignore_index_hint_error,默认值:false。 可关闭SSL加密功能。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。
Bug修复
| 20240601 |
20190915 | 8.0.16 | | 20240601 |
20190816 | 8.0.16 | 新特性 Bug修复 修复文件大小计算错误的问题。 修复偶尔出现的内存空闲后再次使用的问题。 修复主机缓存大小为0时的崩溃问题。 修复隐式主键与CTS语句的冲突问题。 修复慢查询导致的slog出错问题。
| 20240601 |
20190601 | 8.0.16 | 性能优化 缩短日志表MDL范围,减少MDL阻塞的可能性。 重构终止选项的代码。
Bug修复 修复审计日志中没有记录预编译语句的问题。 屏蔽无效表名的错误日志。
| 20240601 |