AliSQL内核小版本发布记录

AliSQL是RDS MySQL的内核,除了为用户提供MySQL社区版的所有功能外,还提供了企业级备份恢复、线程池、并行查询等类似于MySQL企业版的诸多功能,赋予了RDS MySQL安全、备份、恢复、监控、性能优化、只读实例等各项能力。本文介绍AliSQL的内核版本更新说明。

注意事项

AliSQL内核小版本过低可能会导致任务中断。建议您定期,或在收到阿里云的运维通知后升级您的内核小版本。

说明
  • 如何升级RDS MySQL实例的AliSQL内核小版本,请参见升级内核小版本

  • 本文全量列举AliSQL内核小版本,升级小版本时,可能会存在部分小版本维护中,无法选取的情况,请以控制台可选小版本为准。

  • 关于RDS MySQL独享代理的小版本说明请参见数据库代理小版本发布记录

  • 内核版本如已设置过期时间,将会更新在过期时间中。如果过期时间为空,则表示该内核版本暂未设置过期时间。关于内核版本状态说明,请参见升级内核小版本

MySQL 8.0基础系列或高可用系列或集群系列

说明
  • 集群系列从20220730小版本开始支持。

  • 组复制(MGR)从20221231小版本开始支持。

小版本

说明

版本过期时间

20240930

  • 新特性

    • 新增参数innodb_instant_ddl_enabled控制是否启用instant DDL。

  • Bug修复

    • 修复社区Bug#36840107,解决了在对Instant DDL增加的列执行Update操作时导致的实例崩溃问题。

    • 修复社区Bug#36723117,解决了在对Instant DDL删除的列执行Delete或Update操作时导致的实例崩溃问题。

——

20240731

  • 新特性

    • 支持用户的Binlog Dump线程跳过Binlog Cache Free Flush功能生成的Empty Event。

  • 性能优化

    • 优化分配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

Bug修复

  • 修复系统表的内部权限管理非预期行为,支持用户账号对Performance Schema下的表执行TRUNCATE操作。

  • 修复经历过INSTANT DDL后的表记录Redo Log时,可能导致内存泄漏的问题。

——

20240615

Bug修复

修复Instant DDL内改变非Instant列顺序导致写Redo Crash的问题。

——

20240531

  • 新特性

    • 合并官方版本8.0.358.0.36变更。

    • 支持自动释放长连接上的NET::buff内存,减少内存资源的使用,降低OOM风险。

  • 性能优化

    • Buffer Pool Extension支持异步IO读取。

    • 优化实例启动过程中数据文件的扫描和校验,提升表数量较多的实例的启动速度。

  • Bug修复

    • 修复Binlog Cache Free Flush生成的GTID Log Event时间戳错误的问题。

    • 修复InnoDB表中,显式创建名为FTS_DOC_ID的列,导致5.7到8.0的大版本升级失败的问题。

    • 修复EncDB返回数据类型错乱的问题。

    • 修复recycle_bin参数关闭后,只读实例上依然会触发表回收的问题。

    • 修复innodb_activity_count可能为负数的问题。详情请参见社区Bughttps://bugs.mysql.com/bug.php?id=114180

    • 修复并行读分区表导致并行线程计数泄露,造成并行读失效的问题。详情请参见社区Bughttps://bugs.mysql.com/bug.php?id=114154

——

20240522

  • Bug修复

    • 修复Instant DDL内改变非Instant列顺序导致的Redo错乱问题。

——

20240229

  • 新特性

    • OpenSSL版本更新为3.0.12。

    • 新增故障诊断日志记录DDL功能。

    • 新增全密态数据库(公测)功能,实现全链路中数据加密,保护数据安全。

  • Bug修复

    • 修复半同步复制中,Binlog文件名比较错误导致的半同步复制失效问题。

    • 修复IPK导致的备份集兼容性问题。

——

20240131

  • 新特性

    新增Statement Outline支持ps-protocol。

  • Bug修复

    • 修复开启Thread Pool情况下,performance_schema.memory_summary_by_thread_by_event_name表内存计数虚高的问题。

    • 修复X-Engine实例重启后自增列频繁出现duplicate entry报错的问题。

    • 修复innodb_disable_sort_file_cach=ON创建全文索引时报错“ERROR 1878 (HY000): Temporary file write failure.”的问题。

    • 修复在一条语句中使用INPLACE DDL重建全文索引parser不生效的问题。详情请参见社区Bug #110976

    • 修复recycle_bin参数修改后,只读实例上自动清理逻辑不符合预期的问题。

    • 修复在prepare statement语句中执行create sequence导致实例崩溃的问题。

——

20230930

重要

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.328.0.338.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修复

    • 修复pfs内存监控项不统计Buffer Pool、Buffer Pool Extension的问题。

    • 修复索引中包含的字段在Server层和InnoDB层中大小写不一致导致的大版本升级失败问题。

——

20230914

重要

20230630、20230914版本已经下线,建议将这两个版本的实例尽快升级到20230930版本。

Bug修复

增加或者删除字段时默认使用INPLACE而不是INSTANT方式执行,避免INSTANT方式的稳定性问题。

说明

该Bug修复为临时修复,仅限于20230914版本。

——

20230630

重要
  • 新特性

    • 合并官方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环境部署。

  • 性能优化

  • 优化mysqld_safe.sh,加快实例启动速度。

  • 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

Bug修复

  • 引入组复制延迟启动功能,规避实例快速重启并重连集群时,出现的集群操作无法执行问题。

  • 修复Binlog in Redo和Binlog Parallel Flush在长时间高负载运行时,实例出现事务无法提交问题。

——

20230610

Bug修复

  • 修复执行COM_STATISTICS、COM_CHANGE_USER命令和SHOW PROCESSLIST语句时导致的死锁问题(表现为实例无法连接)。详情请参见社区Bug#110494

  • 修复X-Engine引擎后台回收任务异常退出导致的备份任务无法执行的问题。

——

20230324

Bug修复

修复Binlog In Redo功能在半同步复制形态下被非预期打开的问题。

——

20221231

  • 新特性

    • 支持在sync_binlog不为1时,开启Binlog并行写入的功能。开启后,能够提高Binlog在高并发业务模型下的写入性能,大幅提升实例的写性能。

    • 支持MGR(MySQL Group Replication)在单主模式下,强制清理认证信息的功能(默认开启,可手动关闭)。通过强制清理认证信息,可以解决高业务压力、高延迟场景下的周期性性能抖动、内存占用高和新节点加入集群时性能跌零的问题。

    • 当MGR的主动选主命令发起后,如果有事务的执行时间超出了SQL语句中配置的超时时间,该事务会被强制回滚,防止阻塞选主操作,提高了选主成功率。

    • 更新OpenSSL版本至1.1.1s。

  • 性能优化

    • 增强了RDS MySQL异步Purge数据文件功能,对于脏页较多的表,可以提升DROP TABLE和TRUNCATE TABLE语句执行速度。

    • Performance Agent增加Purge统计项,包含:

      • INNODB_UNDO_SIZE_USED:Undo日志使用大小。

      • INNODB_PURGE_LIMIT_TRX_NO:Purge位点,即当前已经Purge的最大transaction number。

      • INNODB_PURGE_ITER_TRX_NO:最大能被Purge的transaction number。

  • 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

Bug修复

修复使用CTE(Common Table Expression)语法执行查询时,在某种场景下存在临时表的引用未正确赋给CTE的错误。

——

20220830

  • 新特性

    • 合并官方8.0.268.0.278.0.28变更。

    • 新增json_document_max_depth参数,支持配置JSON嵌套层数。

  • 性能优化

    优化了Buffer Pool并行初始化性能。

  • Bug修复

    修复临时表空间记录Redo日志问题。

——

20220730

性能优化

Buffer Pool Free Resize性能优化。

——

20220530

  • 新特性

    • 对于云盘单节点实例,增加通过Redo日志实现增量备份和按任意时间点还原的功能。

    • 增加 Persist Binlog Into Redo V2 功能,对大并发做了优化,大并发下有更好的性能。

    • 优化SSL加密功能,修复部分内部错误。

    • 取消普通账户对sys、performance_schema库的操作权限。

    • 错误日志中加入FLUSH TABLES WITH READ LOCKUNLOCK 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

BUG修复

  • 修复不带WHERE条件的SELECT COUNT(*)语句执行速度过慢的问题。

  • 修复带有WITH ROLLUP语法的存储过程被多次调用导致崩溃的问题。

——

20220331

  • 新特性

    • 放开innodb_buffer_pool_size小于1 GB时,innodb_buffer_pool_instances不能大于1的限制。

    • 降低Native Flashback功能开启时对实例性能的影响。

  • 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变更。

    • 引入recovery_apply_binlog机制,使XA事务支持Crash Safe。

    • 审计日志支持V3版本,增加单独一列事务ID,增加ext字段以存放SQL被截断的标识。

    • 允许将新的SEQUENCE类型定义为TIMESTAMP SEQUENCE,相比DIGITAL SEQUENCE原始序列,构建的格式不同。

      语法:CREATE SEQUENCE seq CACHE [缓存大小] TIMESTAMP;

    • 对高权限账号放开mysql.slow_logmysql.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链表获取空闲页的逻辑。

    • 支持带主键或唯一键的UPDATEDELETE语句自动进入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表增加更多性能数据指标。

    • 优化用户自定义函数(nextvalcurrval)与SEQUENCE系统函数发生冲突时的调用性能。

    • X-Engine支持即时响应用户发起的KILL SESSION请求。

    • X-Engine修复在极端场景下,部分DDL操作失败后处于不一致状态的问题。

    • 增加栈溢出保护机制。

    • 修复persist_binlog_to_redoX-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错误。

重要

官方8.0.22版本中引入了derived_condition_pushdown特性,该特性有效减少了派生表内部的扫描数据量,提高了查询速度。但由于该特性忽略了用户参数(User Variables),导致使用了用户参数的查询返回空值,无法正常完成查询。更多信息,请参见官方文档

解决方法:连接MySQL数据库,执行set optimizer_switch="derived_condition_pushdown=off";命令关闭该特性即可。

——

20201031

  • 新特性

    • 支持从Recycle Bin还原表。

    • 实例初始化时自动恢复Slow Log文件。

  • 性能优化

    使用X-Engine引擎时不支持开启Binlog in Redo

  • Bug修复

    • 修复唯一索引键值过大导致ASSERT异常的问题。

    • 修复无法终止COM_DAEMON守护进程的问题。

    • 修复FTS查询导致缓存溢出的问题。

    • 修复Instant-DDL崩溃后回滚出错的问题。

20240601

20200831

  • 新特性

    • 新增是否允许count(*)函数执行并行扫描的选项,将innodb_parallel_read_threads参数设置为0可禁止该函数并行扫描。更多信息,请参见设置实例参数

    • MySQL Binlog工具增加开始GTID(start gtid)和结束GTID(stop gtid)功能。

    • 支持输出Redo Log的各个LSN值:

      • innodb_lsn:重做日志的lsn编号。

      • innodb_log_checkpoint_lsn:最后检查点的lsn。

      • innodb_log_write_lsn:log写入的lsn。

      • innodb_log_ready_for_write_lsn:log buffer完成时间的lsn。

      • innodb_log_flush_lsn:磁盘上刷新redo log的lsn。

      • innodb_log_dirty_pages_added_up_to_lsn:添加脏页的LSN。

      • innodb_log_oldest_lsn:页面刷新的LSN。

  • 性能优化

    • 优化CCL(Concurrency Control)的等待与并发机制。

    • 调整Concurrency Control在存储过程中的执行优先级。

  • Bug修复

    • 修复解析器递归时缺少堆内存大小检查的问题。

    • 修复TDE打开时无法修改表定义的问题。

    • 修复事件调度程序内存泄露的问题。

20240601

20200630

  • 新特性

    • Faster DDL:优化DDL操作过程中的Buffer Pool管理机制,降低DDL操作带来的性能影响,提升在线DDL操作的并发数。

    • 增加连接数上限,最大支持500,000连接。

  • 性能优化

    • 线程池内部优化。

    • 根据实例规格设置Performance Schema占用内存的上限。

    • 不再检测审计日志文件。

    • TDE会缓存KMS服务提供的密钥。

    • 修改在Statement Concurrency Control中运行的线程状态。

  • Bug修复

    • 修复Outline计算摘要时将分号(;)视为输入查询的其中一部分的问题。

    • 修复更改表导致服务器崩溃的问题。

    • 修复关键字member和array与旧版本不兼容的问题。

    • 修复读取客户端命令时的等待计数不正确的问题。

    • 修复内核小版本升级失败的问题。

20240601

20200430

  • 新特性

    • Binlog in Redo:通过将Binlog写入Redo Log来优化事务落盘机制,提高数据库性能。

    • 重构X-Engine引擎的行缓存代码。

    • 开放XA_RECOVER_ADMIN权限。

  • 性能优化

    • 在操作InnoDB临时表时仅扫描脏页列表,而不是扫描整个Buffer Pool列表。

    • 兼容MySQL 5.6,将全局参数opt_readonly_trans_implicit_commit重命名为rds_disable_explicit_trans。

    • 在实例升级期间,不记录升级相关日志到审计日志。

    • 降低在X-Engine引擎表上执行DDL操作消耗的内存。

  • Bug修复

    • 修复磁盘中实际X-Engine引擎表大小与IS表中的统计信息不一致的问题。

    • 修复重新打开错误日志会导致X-Engine日志初始化的问题。

20240601

20200331

  • 新特性

    Recycle Bin:新增支持TRUNCATE TABLE命令,执行时将原始表移动到专门的recycle bin目录中,并使用相同的结构创建新表。

  • 性能优化

    • 默认关闭TCP错误的输出。

    • 提高线程池默认配置下的性能。

  • Bug修复

    • 修复因为#p分割分区文件名导致的数据库、表无效问题。

    • 修复CCL匹配时区分大小写问题,即不再区分大小写。

  • 合并官方8.0.17、8.0.18变更,更多信息,请参见Changes in MySQL 8.0.17Changes in MySQL 8.0.18

20240601

20200229

  • 新特性

    • Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。

    • 在半同步模式下添加网络往返时间,并记录到性能数据。

    • X-Engine引擎支持在线DDL功能。

  • 性能优化

    • 允许在只读实例上进行语句级并发控制(CCL)操作。

    • 备实例支持Outline。

    • Proxy短连接优化。

    • 优化不同CPU架构下的pause指令执行时间。

    • 添加内存表查看线程池运行情况。

  • Bug修复

    • 在低于4.9的Linux Kernel中禁用ppoll,使用poll代替。

    • 修复wrap_sm4_encrypt函数调用错误问题。

    • 修复在滚动审核日志时持有全局变量锁的问题。

    • 修复恢复不一致性检查的问题。

    • 修复io_statistics表出现错误time值的问题。

    • 修复无效压缩算法导致崩溃的问题。

    • 修复用户列与5.6不兼容的问题。

  • 修补程序

    • Faster DDL:优化DDL操作过程中的Buffer Pool管理机制,降低DDL操作带来的性能影响,提升在线DDL操作的并发数。

    • 线程池性能优化。

    • 修复缓冲区计数泄漏问题。

20240601

20200110

  • 新特性

    Inventory Hint:新增了三个hint, 支持SELECT、UPDATE、INSERT、DELETE 语句,快速提交/回滚事务,提高业务吞吐能力。

  • 性能优化

    • 启动实例时,先初始化Concurrency Control队列结构,再初始化Concurrency Control规则。

    • 异步清除文件时取消小文件的链接。

    • 优化Thread Pool性能。

    • 默认情况下禁用恢复不一致性检查。

    • 更改设置变量所需的权限:

      • 设置以下变量所需的权限已更改为普通用户权限:

        • auto_increment_increment

        • auto_increment_offset

        • bulk_insert_buffer_size

        • binlog_rows_query_log_events

      • 设置以下变量所需的权限已更改为超级用户或系统变量管理用户权限:

        • binlog_format

        • binlog_row_image

        • binlog_direct

        • sql_log_off

        • sql_log_bin

20240601

20191225

  • 新特性

    Recycle Bin:临时将删除的表转移到回收站,还可以设置保留的时间,方便您找回数据。

  • 性能优化

    • 提高短连接处理性能。

    • 使用专用线程为maintain user服务,避免HA失败。

    • 通过Redo刷新Binlog时出现错误会显式释放文件同步锁。

    • 删除不必要的TCP错误日志。

    • 默认情况下启用线程池。

  • Bug修复

    • 修复慢日志刷新的问题。

    • 修复锁定范围不正确的问题。

    • 修复TDE的Select函数导致的核心转储问题。

20240601

20191115

新特性

Statement Queue:针对语句的排队机制,将语句进行分桶排队,尽量把可能具有相同冲突的语句放在一个桶内排队,减少冲突的开销。

20240601

20191101

  • 新特性

    • TDE添加SM4加密算法。

    • 保护备实例信息:拥有SUPER或REPLICATION_SLAVE_ADMIN权限的用户才能插入/删除/修改表slave_master_info、slave_relay_log_info、slave_worker_info。

    • 提高自动递增键的优先级:如果表中没有主键或非空唯一键,具有自动增量的非空键将是第一候选项。

    • 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。

    • Redo Log刷新到磁盘之前先将Binlog文件刷新到磁盘。

    • 实例被锁定时也会影响临时表。

    • 添加新的基于LSM树的事务存储引擎X-Engine。

  • 性能优化

    • Thread Pool:互斥优化。

    • Performance Insight:性能点支持线程池。

    • 参数调整:

      • primary_fast_lookup:会话参数,默认值为true。

      • thread_pool_enabled:全局参数,默认值为true。

20240601

20191015

  • 新特性

    • TDE:支持透明数据加密TDE(Transparent Data Encryption)功能,可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。

    • Returning:Returning功能支持DML语句返回Resultset,同时提供了工具包(DBMS_TRANS)便于您快捷使用。

    • 强制将引擎从MyISAM或MEMORY转换为InnoDB:如果全局变量force_mysiam_to_innodbforce_memory_to_innodbON,则创建和修改表时会将表引擎从MyISAM或MEMORY转换为InnoDB。

    • 禁止非高权限账号切换主备实例。

    • 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮循方式,保留最近的秒级性能数据。

    • Innodb mutex timeout configurable:可配置全局变量innodb_fatal_semaphore_wait_threshold,默认值:600。

    • 忽略索引提示错误:可配置全局变量ignore_index_hint_error,默认值:false。

    • 可关闭SSL加密功能。

    • TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。

  • Bug修复

    • 支持本地AIO的Linux系统内,在触发线性预读之前会合并AIO请求。

    • 优化表/索引统计信息。

    • 如果指定了主键,则直接访问主索引。

20240601

20190915

Bug修复

修复Cmd_set_current_connection内存泄露问题。

20240601

20190816

  • 新特性

    • Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。

    • Statement Concurrency Control:通过控制并发数应对突发的数据库请求流量、资源消耗过高的语句访问以及SQL访问模型的变化,保证MySQL实例持续稳定运行。

    • Statement Outline:利用Optimizer Hint和Index Hint让MySQL稳定执行计划。

    • Sequence Engine:简化获取序列值的复杂度。

    • Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。

    • Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。

    • 优化实例锁状态:实例锁定状态下,可以DROP或TRUNCATE表。

  • Bug修复

    • 修复文件大小计算错误的问题。

    • 修复偶尔出现的内存空闲后再次使用的问题。

    • 修复主机缓存大小为0时的崩溃问题。

    • 修复隐式主键与CTS语句的冲突问题。

    • 修复慢查询导致的slog出错问题。

20240601

20190601

  • 性能优化

    • 缩短日志表MDL范围,减少MDL阻塞的可能性。

    • 重构终止选项的代码。

  • Bug修复

    • 修复审计日志中没有记录预编译语句的问题。

    • 屏蔽无效表名的错误日志。

20240601

MySQL 8.0三节点企业系列

小版本

说明

20230415

Bug修复

  • 修复了大事务场景相关稳定性缺陷。

  • 修复了没有流量时备库Seconds_Behind_Master不为0的缺陷。

20230406

性能优化

优化了Faster DDL性能,在Session退出时,如果用户的操作或者优化器生成过临时表,默认的淘汰Page流程从遍历整个buffer pool优化为只遍历和临时表相关的Page,减少buffer pool的淘汰临时表等待时间,降低冲突,提高整体性能。

20210305

Bug修复

修复performance schema的内存泄漏Bug。

20200918

新特性

支持独享的proxy开启SSL加密。

20200805

Bug修复

修复一个元数据Bug。

20200608

  • 新特性

    Recycle Bin:新增支持TRUNCATE TABLE命令,执行时将原始表移动到专门的recycle bin目录中,并使用相同的结构创建新表。

  • 性能优化

    • 默认关闭TCP错误的输出。

    • 提高线程池默认配置下的性能。

  • Bug修复

    • 修复因为#p分割分区文件名导致的数据库、表无效问题。

    • 修复CCL匹配时区分大小写问题,即不再区分大小写。

  • 合并官方8.0.17、8.0.18变更,更多信息,请参见Changes in MySQL 8.0.17Changes in MySQL 8.0.18

20200317

  • 新特性

    • Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。

    • 在半同步模式下添加网络往返时间,并记录到性能数据。

  • 性能优化

    • 允许在只读实例上进行语句级并发控制(CCL)操作。

    • 备实例支持Outline。

    • Proxy短连接优化。

    • 优化不同CPU架构下的pause指令执行时间。

    • 添加内存表查看线程池运行情况。

  • Bug修复

    • 在低于4.9的Linux Kernel中禁用ppoll,使用poll代替。

    • 修复wrap_sm4_encrypt函数调用错误问题。

    • 修复在滚动审核日志时持有全局变量锁的问题。

    • 修复恢复不一致性检查的问题。

    • 修复io_statistics表出现错误time值的问题。

    • 修复无效压缩算法导致崩溃的问题。

    • 修复用户列与5.6不兼容的问题。

  • 修补程序

    • Faster DDL:优化DDL操作过程中的Buffer Pool管理机制,降低DDL操作带来的性能影响,提升在线DDL操作的并发数。

    • 线程池性能优化。

    • 修复缓冲区计数泄漏问题。

MySQL 5.7基础系列或高可用系列或集群系列

说明

集群系列从20220731小版本开始支持。

小版本

说明

过期时间

20240731

  • 新特性

    • 支持用户的Binlog Dump线程跳过Binlog Cache Free Flush功能生成的Ignorable Log Event。

    • 支持动态修改encdb参数。

  • 优化

    • 删除不必要的Server hooks,减少DML过程中不必要的锁竞争。

    • 优化TRUNCATE TABLE持锁时间。开启innodb_rds_drop_ahi_ahead参数时,将在TRUNCATE InnoDB表之前删除对该表建立的自适应哈希索引,从而缩短语句执行过程中InnoDB元数据锁的持有时间,避免阻塞其他SQL。

    • 优化General Log在崩溃恢复时自动修复过程的耗时。

  • Bug修复

    • 修复Crash Recovery过程到99%卡死的问题。

    • 修复Analyze Table可能导致大量SQL执行卡在“Waiting for table flush”的问题。

    • 修复Binlog Cache Free Flush功能,end_log_pos不正确的问题。

    • 修复Crash Recovery写入页面校验出错的问题。

    • 修复多线程初始化Buffer Pool时,内存信息未被performance_schema采集的问题。

    • 修复encdb时间戳处理导致的Crash。

    • 修复Optimize Table失败仍记录Binlog的问题。

    • 修复UPDATE语句执行过程中,可能会获取不必要的AUTO_INC锁问题。

——

20240430

  • 优化

    • DROP TABLE持锁时间优化。新增innodb_rds_drop_ahi_ahead参数,该参数开启时,将在删除InnoDB表之前对该表建立的自适应哈希索引进行删除,从而缩短DROP TABLE语句执行过程中InnoDB元数据锁的持有时间,避免阻塞其他SQL。

    • 支持Binlog Cache Free Flush功能。此功能在事务提交阶段,将大事务的Binlog Cache临时文件直接转为Binlog文件,可以减少大事务提交时持有全局Binlog锁的时间,并减缓实例的IO压力,进而防止实例因长时间不可写Binlog或IO Hang而导致HA切换。

  • Bug修复

    • 修复REPLACE INTO语句造成备库InnoDB表的AUTO_INCREMENT值和实际数据不一致的问题。

    • 修复INSERT ... SELECT语句允许插入不兼容GEOMETRY类型数据的问题。

    • 修复EncDB返回数据类型错乱的问题。

    • 修复使用Percona mysqldump增加--lock-for-backup选项备份时,可能出现报错 "error 1305: savepoint does not exist." 的问题。

——

20240229

  • 新特性

    • 合并官方5.7.44的变更。

    • 新增Statement Outline支持ps-protocol。

    • OpenSSL版本更新为3.0.12。

    • EncDB支持查询加密规则和用户。

  • 性能优化

    • 优化1秒复制延迟问题。

  • Bug修复

    • 修复在discard tablespace之后,会出现无关报错的问题。

    • 修复recycle_bin参数关闭后,只读实例上依然会触发表回收的问题。

    • 修复同时查询普通表和系统表information_schema.PARAMETERS或ROUTINES时可能CRASH的问题。

    • 修复因slow_log.CSV丢失,写入慢日志失败问题。

    • 修复query cache plugin加载后迅速卸载偶尔导致的空指针访问问题。

    • 修复多条语句合并为一个查询时,审计日志V3记录多条语句截断位置不准确的问题。

    • 修复drop table force对有外键依赖的表无效的问题。

    • 修复多语句场景下,OK协议包的more_result字段异常问题,支持MaxScale用多语句恢复会话状态。

    • 修复半同步复制中,binlog文件名比较错误导致的半同步复制失效问题。

    • 修复当explicit_defaults_for_timestamp参数被设置时,EncDB写入Null作为timestamp的问题。

——

20240115

Bug修复

  • 修复SQL中包含表别名时,EncDB无法识别敏感列的问题。

  • 修复EncDB内部DesensitizationAlgo类构造函数遇到非法输入时系统崩溃的问题。

  • 修复EncDB在敏感规则配置为空时总是输出日志,可能导致用户磁盘满的问题。

  • 修复EncDB在处理noneAcces类型用户时,如果计算密文大小和实际生成密文大小不一致,会回包错误的问题。

——

20231215

重要

OpenSSL版本升级到3.0.9后,默认禁用TLSv1、TLSv1.1协议。出于兼容性考虑,RDS MySQL通过调整ssl_cipher参数默认值为"ALL:@SECLEVEL=0" ,恢复了对TLSv1.0和TLSv1.1的支持。

如果您的业务确认只使用TLSv1.2及以上版本的TLS协议,建议您在RDS控制台设置ssl_cipher参数为""(空串),以获得更高的安全级别保障。

Bug修复

修复MySQL升级OpenSSL版本至3.0.9后,客户端无法使用TLSv1.0、TLSv1.1连接服务端的问题。

——

20231031

Bug修复

修复EncDB参数设置不生效的问题。

——

20230831

重要

OpenSSL版本升级到3.0.9后,如需使用TLSv1、TLSv1.1协议,可设置实例参数ssl_cipher包含@SECLEVEL=0来降低默认安全等级,以达到允许使用TLSv1、TLSv1.1协议的目的。

  • 新特性

    • 合并官方5.7.43变更。

    • 升级OpenSSL版本至3.0.9。

    • 使用Shell内置的函数解析参数提升通过mysqld_safe启动MySQL的速度。

    • 新增全密态数据库功能,实现全链路数据加密,保护数据安全。

  • Bug修复

    • 修复Thread Pool因sql_type错误导致的实例异常重启。

    • 修复UNDO表锁恢复过程中因fil_addr指向错误导致的自循环问题。

    • 修复审计日志不记录多语句查询的问题。

——

20230531

  • 新特性

    • 合并官方5.7.415.7.42变更。

    • 升级OpenSSL版本至1.1.1u。

    • 在实例崩溃恢复过程中,加速undo表空间锁复活的过程。

    • 支持取消Online Buffer Pool Resize,避免Resize过程耗时过长。

  • 性能优化

    • 在实例启动过程中,使用多线程同时初始化Buffer Pool Instances,加快启动速度。

    • 在实例崩溃恢复过程中,将未决事务的回滚由同步回滚优化为异步回滚,提升RTO。

    • 提升Buffer Pool初始化的性能,加快启动速度。

  • Bug修复

    修复多线程初始化Buffer Pool Instances时,参数数组下标访问越界导致的初始化失败问题。

——

20230228

Bug修复

  • 修复在部分场景下,开启recycle_scheduler后可能导致内存缓慢上涨的问题。

  • 修复recycle_scheduler后台线程与主动purge_table操作冲突导致purge_table操作无法执行的问题。

——

20221231

  • 新特性

    • 合并官方5.7.40变更。

    • 更新OpenSSL版本至1.1.1s。

  • 性能优化

    • 优化AHI(Adaptive Hash Index)的功能:

      • 关闭AHI时,清理AHI占用的内存。

      • 提升AHI的更新速度。

    • 如果事务修改了无PRIMARY KEY和非空UNIQUE KEY的表,在备库应用时,将带有自增字段的非空键作为第一候选项来查找目标列,从而提升表在备库的回放效率,降低复制延迟。

      说明

      带有自增字段的非空键可能是用户自定义的键,也可能来自RDS创建的隐式主键。

  • Bug修复

    • 修复MySQL审计日志中UPDATE和INSERT语句更新行数不准确的问题。

      问题详情:

      在能力位CLIENT_FOUND_ROWS(默认关闭)开启的情况下,在执行UPDATE和INSERT语句时,客户端显示的更新的行数取rows affected参数值,该值为找到的行数,而不是修改的行数,导致更新行数错误。

      问题修复后,审计日志中更新行数取update rows参数值,该值为准确的更新行数。

    • 修复使用临时表创建普通表时,Binlog缺少临时表的字符集导致备库报13146错误的问题。

      问题修复后,使用临时表创建普通表时,Binlog包含了临时表的字符集,备库不会报13146错误。

——

20221031

  • 新特性

    合并官方5.7.39变更。

  • Bug修复

    移除primary fast look up功能。

——

20220731

  • 新特性

    合并官方5.7.38变更。

  • Bug修复

    • 修复DDL过程中Rename Tablespace操作和其他未完成的I/O操作之间的死锁问题。

    • 修复performance_schema中memory_summary_global_by_event_name表的Memory/sql/String::value统计不准确的问题。

    • 修复插入数据到二级索引时,二级索引上加锁不合理导致的XA事务在Replica节点死锁的问题。

    • 关闭innodb_buffer_pool_instances大于1时,innodb_buffer_pool_size不得小于1 G的限制。

  • 性能优化

    优化了调整Buffer Pool大小的策略,使调整过程更加平滑。

——

20220430

  • 新特性

    • 合并官方5.7.37变更。

    • 优化SSL加密功能,修复部分内部错误。

    • 取消普通账户对sys、performance_schema库的操作权限。

  • Bug修复

    修改错误日志中的FLUSH TABLES WITH READ LOCKUNLOCK TABLES日志记录为warning级别,以便于线上排查问题。

——

20211231

  • 新特性

    • 合并官方5.7.35变更。

    • 支持RDS InnoDB buffer pool的Free resize,在调整实例Buffer Pool过程中对实例性能影响更小,用户体验更加友好。

    • 双向复制优化,不会再发送不必要的Binlog,并且跳过EVENT时不再产生heartbeat event。

    • 修改log_slave_updates参数后无需再重启实例。

    • 错误日志(error log)中加入了FLUSH TABLES WITH READ LOCKUNLOCK TABLES日志。

    • 新增参数innodb_control_index_page_reserve,设置为ON时将减少页的分裂,降低存储空间的占用。

  • Bug修复

    • 修复Performance Agent在docker新架构下采集的CPU usage不正确的情况。

    • 修复RDS保留的session tracker type number不正确的问题。

    • 修复mtr log超过log parsing buffer大小导致崩溃恢复失败的问题。

    • 支持将内存页标记为MADV_DONTDUMP,在innodb_buffer_pool_in_core_file参数关闭的情况下,产生的coredump将不包含InnoDB buffer pool,从而降低coredump占用的空间。

    • 修复mysql.slow_log表中start_time不正确的问题,应该是SQL开始的时间而不是SQL结束的时间。

    • 对普通用户开放Show_db_priv权限。

    • 修复在执行LF_HASH_INSERT的时候可能会发生内存泄漏的问题。

    • 修复recycle_bin不支持包含虚拟列的表的问题。

——

20210630

  • 新特性

    • 审计日志支持MYSQL_V3格式。

    • 允许用户对slow log和general log执行truncate操作。

    • 增加线程栈内存溢出检查。

    • 增加参数thread_pool_strict_mode以控制最大worker线程数量。

  • Bug修复

    • mysqld_safe脚本启动mysqld时删除老的socket lock文件。

    • 修复recycle_bin内存泄漏问题。

——

20210430

  • 新特性

  • 性能优化

    • I_S.PERF_STATISTICS表中增加更多性能数据指标。

    • I_S.INDEX_STATISTICS表中新增索引扫描次数。

    • 优化TDE性能。

  • Bug修复

    修复社区版本回滚过程中生成列处理异常Bug。

——

20201031

Bug修复

  • 修复并发更新导致ROW_SEARCH_MVCC崩溃的问题。

  • 修复更改innodb_undo_tablespaces导致无法启动的问题。

  • 修复FTS查询导致缓存溢出的问题。

20240601

20200831

  • 新特性

    • 合并官方5.7.30变更,更多信息,请参见GitHub

    • 优化CCL(Concurrency Control)的等待与并发机制。

    • MySQL Binlog工具增加开始GTID(start gtid)和结束GTID(stop gtid)功能。

    • 支持输出Redo Log的各个LSN值:

      • innodb_lsn:重做日志的lsn编号。

      • innodb_log_write_lsn:log写入的lsn。

      • innodb_log_checkpoint_lsn:最后检查点的lsn。

      • innodb_log_flushed_lsn:磁盘上刷新redo log的lsn。

      • innodb_log_Pages_flushed:页面刷新的lsn。

  • 性能优化

    调整Concurrency Control在存储过程中的执行优先级。

  • Bug修复

    SQL运行期间使用的临时表Page可能发生引用计数泄漏,这可能导致整个Buffer Pool脏块刷新效率低下,引发Buffer Pool中无可用空闲Page,严重影响数据库的运行效率。更多信息,请参见官方文档

20240601

20200630

  • 新特性

    • Inventory Hint:新增了三个hint, 支持SELECT、UPDATE、INSERT、DELETE 语句,快速提交/回滚事务,提高业务吞吐能力。

    • Statement Concurrency Control:通过控制并发数应对突发的数据库请求流量、资源消耗过高的语句访问以及SQL访问模型的变化,保证MySQL实例持续稳定运行。

    • Statement Queue:针对语句的排队机制,将语句进行分桶排队,尽量把可能具有相同冲突的语句放在一个桶内排队,减少冲突的开销。

    • Statement Outline:利用Optimizer Hint和Index Hint让MySQL稳定执行计划。

    • Faster DDL:优化DDL操作过程中的Buffer Pool管理机制,降低DDL操作带来的性能影响,提升在线DDL操作的并发数。

    • 增加连接数上限,最大支持500,000连接。

  • 性能优化

    • 可通过call dbms_admin.show_native_procedure();命令查看所有本机过程。

    • 新增删除孤立表的函数。

    • 线程池内部优化。

    • 优化查询缓存。

    • 根据实例规格设置Performance Schema占用内存的上限。

  • Bug修复

    修复审计刷新线程进入死循环的问题。

20240601

20200430

  • 性能优化

    QueryCache中删除rwlock,并将默认哈希函数从LF_hash改为murmur3 hash。

  • Bug修复

    修复在事务隔离(可重复读级别)中命中查询缓存时的两个错误。

20240601

20200331

  • 新特性

    • Fast Query Cache:针对原生MySQL Query Cache的不足,阿里云进行重新设计和全新实现,推出RDS Query Cache,能够有效提高数据库查询性能。

    • 从percona-server 5.7移植两个MDL锁,LOCK TABLES FOR BACKUP (LTFB)和LOCK BINLOG FOR BACKUP (LBFB)。

  • 性能优化

    • 添加线程池对低版本的兼容。

    • 默认关闭TCP错误的输出。

    • 提高线程池默认配置下的性能。

  • Bug修复

    • 修复清理大文件时包含临时文件的问题。

    • 修复线程池转储线程超时的问题。

    • 修复进程上下文中IPK字段计数错误的问题。

    • 修复rds_change_user导致的pfs线程泄漏和释放问题。

  • 合并官方5.7.28变更,更多信息,请参见GitHub

20240601

20200229

  • 新特性

    • Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。

    • 在半同步模式下添加网络往返时间,并记录到性能数据。

  • 性能优化

    • 优化不同CPU架构下的pause指令执行时间。

    • Proxy短连接优化。

    • 添加内存表查看线程池运行情况。

  • Bug修复

    • 修复DDL重做日志不安全的问题。

    • 修复io_statistics表出现错误time值的问题。

    • 修复更改表导致服务器崩溃的问题。

    • 修复MySQL测试用例。

20240601

20200110

性能优化

  • 异步清除文件时取消小文件的链接。

  • 优化Thread Pool性能。

  • thread_pool_enabled参数的默认值调整为OFF。

20240601

20191225

  • 新特性

    内部账户管理与防范:调整用户权限保护数据安全。

  • 性能优化

    • 提高短连接处理性能。

    • 使用专用线程为maintain user服务,避免HA失败。

    • 删除不必要的TCP错误日志。

    • 优化线程池。

  • Bug修复

    • 修复读写分离时mysqld进程崩溃问题。

    • 修复密钥环引起的核心转储问题。

20240601

20191115

Bug修复

修复主备切换后审计日志显示变量的问题。

20240601

20191101

  • 新特性

    • TDE添加SM4加密算法。

    • 如果指定了主键,则直接访问主索引。

    • 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。

  • 性能优化

  • Bug修复

    • 在处理维护用户列表时释放锁。

    • 补充更多TCP错误信息。

20240601

20191015

  • 新特性

    • 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的CSV数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。

    • 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮循方式,保留最近的秒级性能数据。

    • 强制将引擎从MEMORY转换为InnoDB:如果全局变量rds_force_memory_to_innodbON,则创建/修改表时会将表引擎从MEMORY转换为InnoDB。

    • TDE机制优化:添加keyring-rds插件与管控系统/密钥管理服务进行交互。

    • TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。

  • Bug修复

    修复DDL中的意外错误Error 1290。

20240601

20190925

参数修改

  • 将系统变量auto_generate_certs的默认值由true改为false。

  • 增加全局只读变量auto_detact_certs,默认值为false,有效值为[true | false]。 该系统变量在Server端使用OpenSSL编译时可用,用于控制Server端在启动时是否在数据目录下自动查找SSL加密证书和密钥文件,即控制是否开启Server端的证书和密钥的自动查找功能。

20240601

20190915

新特性

Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。

20240601

20190815

  • 新特性

    • Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。

    • Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。

    • 优化实例锁状态:实例锁定状态下,可以drop或truncate表。

  • Bug修复

    • 禁止在set rds_current_connection命令中设置rds_prepare_begin_id。

    • 允许更改已锁定用户的信息。

    • 禁止用关键字actual作为表名。

    • 修复慢日志导致时间字段溢出的问题。

20240601

20190510

新特性

允许在事务内创建临时表。

20240601

20190319

新特性

支持在handshake报文内代理设置threadID。

20240601

20190131

  • 性能优化

    • 升级到官方5.7.25版本。

    • 关闭内存管理功能jemalloc。

  • Bug修复

    修复内部变量net_lenth_size计算错误问题。

20240601

20181226

  • 新特性

    支持动态修改binlog-row-event-max-size,加速无主键表的复制。

  • Bug修复

    修复Proxy实例内存申请异常的问题。

20240601

20181010

性能优化

  • 支持隐式主键。

  • 加快无主键表的主备复制。

  • 支持Native AIO,提升I/O性能。

20240601

20180431

新特性

  • 支持高可用系列。

  • 支持SQL审计

  • 增强对处于快照备份状态的实例的保护。

20240601

MySQL 5.7三节点企业系列

小版本

说明

20230101

Bug修复

当多个会话插入到一个存在自动增加列的表时,唯一键约束使用IODKU,没有将自动递增列的显式值放入表中,插入操作可能会因唯一索引冲突而失败。问题修复后,当插入IODKU失败时,保留插入失败行的自增ID,用于下次插入,本次操作变为更新操作。

20201229

Bug修复

  • 修复非预期的数据库崩溃和卡住的问题。

  • 修复前缀索引被判定为invisible index索引的问题。

  • 修复一致性协议中logger节点的状态异常问题,该问题可能导致集群无法正确选举主节点。

20191128

  • 新特性

    支持读写分离。

  • Bug修复

    • 修复部分场景下Follower Second_Behind_Master计算错误问题。

    • 修复表级并行复制事务重试时死锁问题。

    • 修复XA相关bug。

20191016

  • 新特性

    • 支持MySQL 5.7高可用系列(本地SSD盘)升级到三节点企业系列。

    • 兼容MySQL官方GTID功能,默认不开启。

    • 合并AliSQL MySQL 5.7基础系列/高可用系列 20190915版本及之前的自研功能。

  • Bug修复

    修复重置备实例导致binlog被关闭问题。

20190909

  • 新特性

    • 优化大事务在三节点强一致状态下的执行效率。

    • 支持从Leader/Follower进行Binlog转储。

    • 支持创建只读实例。

    • 系统表默认使用InnoDB引擎。

  • Bug修复

    • 修复Follower日志清理命令失效问题。

    • 修复参数slave_sql_verify_checksum=OFF和binlog_checksum=crc32时Slave线程异常退出问题。

20190709

新特性

  • 支持三节点功能。

  • 禁用semi-sync插件。

  • 支持表级并行复制、Writeset并行复制。

  • 支持pk_access主键查询加速。

  • 支持线程池。

  • 合并AliSQL MySQL 5.7基础系列/高可用系列 20190510版本及之前的自研功能。

MySQL 5.6

小版本

说明

过期时间

20221130

  • 新特性

    支持在error log中记录GLOBAL READ LOCK的加锁、解锁情况。

  • Bug修复

    • 修复InnoDB分区表数量多时,打开表占用内存过多的问题。

    • 修复列名大小写变换时,InnoDB数据字典不更新的问题。

    • 修复重命名tablespace时,MySQL实例死锁的问题。

    • 修复recovery parsing buffer过小导致crash recovery失败的问题。

    • 修复SHOW GLOBAL STATUS; 执行结果不准确的问题。

    • 修复mysql.slow_log表中start_time字段不准确的问题。

——

20221126

Bug修复

修复InnoDB自增列 (AUTO_INCREMENT) 出现重复的问题。

——

20210630

  • 新特性

    增加线程栈内存溢出检查。

  • Bug修复

    • 修复MySQL 5.6社区版本的Bug。

    • 放开mysql库下SHOW CREATE语句的操作限制。

——

20210430

  • 性能优化

    I_S.PERF_STATISTICS表中增加更多性能数据指标。

  • Bug修复

    修复了社区版本中几个内存泄漏的Bug。

——

20201031

Bug修复

  • 修复IN子句内的子查询无效的问题。

  • 修复进程权限错误的问题。

  • 修复kill_user_list表中用户授权的问题。

  • 修复DROP DATABASE语句出错的问题。

  • 修复PREVIOUS_GTID事件导致SECONDS_BEHIND_MASTER计算错误的问题。

20240601

20200831

  • 新特性

    支持输出Redo Log的各个LSN值:

    • innodb_lsn:重做日志的lsn编号。

    • innodb_log_write_lsn:log写入的lsn。

    • innodb_log_checkpoint_lsn:最后检查点的lsn。

    • innodb_log_flushed_lsn:磁盘上刷新redo log的lsn。

    • innodb_log_Pages_flushed:页面刷新的lsn。

  • Bug修复

    • 修复SHOW_HA_ROWS类型错误的问题。

    • 修复过程上下文中IPK字段计数错误的问题。

    • 修复查询INFORMATION_SCHEMA导致服务器崩溃的问题。

    • 修复审计刷新线程死循环的问题。

    • 修复备实例不报告主备延迟的问题。

20240601

20200630

  • 新特性

    • Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。

    • 增加连接数上限,最大支持500,000连接。

    • Faster DDL:优化DDL操作过程中的Buffer Pool管理机制,降低DDL操作带来的性能影响,提升在线DDL操作的并发数。

  • 性能优化

    • 增加全局参数max_execution_time,当SQL语句执行时间超过此参数值时会被中断。

    • 线程池内部优化。

  • Bug修复

    • 修复读取客户端命令时的等待计数不正确的问题。

    • 修复普通账号没有DROP DATABASE命令执行权限的问题。

20240601

20200430

  • 新特性

    增加存储MDL锁信息的表mdl_info。

  • Bug修复

    解决同时开启线程池和ic_reduce(秒杀)功能的冲突问题。

20240601

20200331

  • 性能优化

    • 提高线程池默认配置下的性能。

    • 默认关闭TCP错误的输出。

  • Bug修复

    修复清理大文件时包含临时文件的问题。

20240601

20200229

  • 新特性

    支持Proxy读写分离功能。

  • 性能优化

    • 优化线程池功能。

    • 优化不同CPU架构下的pause指令执行时间。

  • Bug修复

    修复XA事务部分提交的问题。

20240601

20200110

  • 新特性

    Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。

  • 性能优化

    异步清除文件时取消小文件的链接。

  • Bug修复

20240601

20191212

性能优化

删除不必要的tcp错误日志

20240601

20191115

Bug修复

修复慢日志时间戳溢出问题。

20240601

20191101

Bug修复

  • 修复刷新日志时切换慢日志的问题,仅在执行刷新慢日志时切换慢日志。

  • 修正部分显示错误。

20240601

20191015

  • 新特性

    • 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的csv数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。

    • SM4加密算法:添加新的SM4加密算法,取代旧的SM加密算法。

    • Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。

    • TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。

    • 引入审计日志缓冲机制,提高审计日志的性能。

  • Bug修复

    • 禁用pstack,避免存在大量连接时可能导致pstack无响应。

    • 修复隐式主键与create table as select语句之间的冲突。

    • 自动清除由二进制日志创建的临时文件。

20240601

20190815

性能优化

优化实例锁状态:实例锁定状态下,可以drop或truncate表。

20240601

20190130

Bug修复

修复部分可能导致系统不稳定的Bug。

20240601

20181010

性能优化

添加参数rocksdb_ddl_commit_in_the_middle(MyRocks)。如果这个参数被打开,部分DDL在执行过程中将会执行commit操作。

20240601

201806**

新特性

slow log精度提升为微秒。

20240601

20180426

  • 新特性

    引入隐藏索引,支持将索引设置为不可见,更多信息,请参见参考文档

  • Bug修复

    • 修复备库apply线程的bug。

    • 修复备库apply分区表更新时性能下降问题。

    • 修复TokuDB下alter table comment重建整张表问题,更多信息,请参见参考文档

    • 修复由show slave status/show status可能触发的死锁问题。

20240601

20171205

Bug修复

  • 修复OPTIMIZE TABLE和ONLINE ALTER TABLE同时执行时会触发死锁的问题。

  • 修复SEQUENCE与隐含主键冲突的问题。

  • 修复SHOW CREATE SEQUENCE问题。

  • 修复TokuDB引擎的表统计信息错误。

  • 修复并行OPTIMIZE表引入的死锁问题。

  • 修复QUERY_LOG_EVENT中记录的字符集问题。

  • 修复信号处理引起的数据库无法停止问题,更多信息,请参见参考文档

  • 修复RESET MASTER引入的问题。

  • 修复备库陷入等待的问题。

  • 修复SHOW CREATE TABLE可能触发的进程崩溃问题。

20240601

20170927

Bug修复

修复TokuDB表查询时使用错误索引问题。

20240601

20170901

  • 新特性

    • 升级SSL加密版本到TLS 1.2,更多信息,请参见参考文档

    • 支持SEQUENCE。

  • Bug修复

    修复NOT IN查询在特定场景下返回结果集有误的问题。

20240601

20170530

新特性

支持高权限账号Kill其他账号下的连接。

20240601

20170221

新特性

支持开启代理终端

20240601

MySQL 5.5

小版本

说明

20181212

Bug修复

修复调用系统函数gettimeofday(2) 返回值不准确的问题。该系统函数返回值为时间,常用来计算等待超时,时间不准确会导致无法正常计算等待超时。