20220716 | - 新特性
- 支持 InnoDB 自增列持久化功能。
- 支持内存精确统计功能。
- 支持 Query 级别内存监控功能。
- 支持回收站功能。
- 支持并行 DDL 功能。
- 支持闪回查询功能。
- 支持内部 xa 事物异步回滚功能。
- 性能优化
- 异步大表删除优化
原有大表的定义为50G,现在可通过参数 innodb_async_table_size 进行控制,使其更加灵活。
- bug 修复
- 修复 alter table 创建索引报错 ERROR 1878 (HY000): Temporary file write failure 的问题。
- 修复 PFS 内存监控看不到 buf/buf/pool 的问题。
- 修复 returning 语句在某些场景可能存在权限检查导致异常的问题。
- 修复 parser 没有正确处理语句中的分号造成报错的问题。
- 修复审计语句内单引号未转义的问题。
- 修复 ARM 平台下突发内存升高的问题。
- 修复 writeset 开启后修改 binlog_format 导致主从不一致的问题。
- 修复大量线程同时退出导致 CPU 高的问题。
- 修复 drop table partition force 相关 bug。
- 修复 binlog dump 卡住导致实例重启缓慢的问题。
- 修复 create table like temporary table 在 binlog 中不继承字符集导致主从同步失败的问题。
- 修复 show detail processlist 显示非法字符信息的问题。
- 修复线程池某些情况在关闭时未释放 thread_group 锁的问题。
- 修复 table 并行级别更新父表导致实例运行异常的问题。
- 修复虚拟列在 slave 上计算错误的问题。
- 修复 gtid_subset 在执行一行记录后没有将 null_value 设置为 false 的问题。
|
20211230 | - 新特性
- 合并官方 5.7.19 至 5.7.36 的变更。
- 主从 buffer pool 同步,加速 HA 以后的性能恢复速度,对比原生模式性能恢复速度减少90秒左右。
- 新增 backup lock 特性,提供轻量级的元数据锁,提高备份时的服务可用性。
- 性能优化
- 将 utf8/utf8mb4 my_charpos 相关函数内联,优化 UTF_8 相关函数在 read_write 场景下的性能。
- jemalloc 版本升级至5.2.1。
- binlog rotate 时文件编号获取优化。
- 半同步 slave io 优化。
- hash scan 聚合优化。
- 优化大事务 crash recover 启动时间。
|
20211102 | - 新特性
- 解决使用第三方数据订阅工具时,因订阅到内部数据一致性对比 SQL 导致数据订阅工具异常的问题。
说明 数据库实例在迁移、升级或故障重建后系统会进行数据一致性对比以确保数据的一致性,数据库对比 SQL 为 statement 模式,在部分第三方订阅工具中对 statement 模式 SQL 的处理容易出现异常。升级至该版本内核后,第三方订阅工具不会订阅到内部数据一致性对比的 SQL。
|
20211031 | - 新特性
- 性能优化
- 主动推进 checkpoint,提升备份成功率。
- hash scan 索引选择优化。
- 热点更新性能优化支持 insert on duplicate key update。
- bug 修复
- 修复热点更新打开后性能不稳定的问题。
- 修复 instant ddl 后回滚 update 操作导致 crash 的问题。
- 修复在开启列压缩后,create table select 语句不会继承压缩属性的问题。
- 修复在开启 skip-grant-table 选项后,show variables like 'tencent_root%’ 语句导致实例 crash 的问题。
- 修复 Query Rewriter 插件在 read only 模式下 crash 的问题。
- 修复 hash scan 在分区表下的1032的问题。
- 修复 mts 模式下,第一个大事物 sbm 为0的问题。
- 修复 slave_preserve_commit_order=ON,slave_transaction_retries=0 时的 stop slave 卡死问题。
- 修复若干 XA 事务的 bug。
- 修复创建带有 default 值的 json 字段后,在 show create 时拼装 SQL 错误的问题。
- 修复事务被阻塞后,断开连接事务无法回滚的问题。
- 修复长记录下,innodb persistent 方式的统计信息可能为0的问题。
- 移植8.0 修复 ANALYZE TABLE 可能导致查询堆积的问题。
- 修复 innodb 统计信息变更后,不能及时同步给 Server 层的问题。
- 修复统计采样可能阻塞写入过长,而导致崩溃的问题 (Bug#31889883)。
- 修复 innodb 统计信息更新流程,可能会导致一定机会读零的问题 (BUG#105224)。
- 修复 MVCC 可能出现复杂度为 O(N^2) 的行为(Bug#28825617)。
- 修复连接释放时,关闭临时表触发 binlog rotate 导致 crash。
|
20210630 | - 新特性
- 新增命令 SHOW SLAVE DETAIL [FOR CHANNEL channel],用于展示当前 slave 已经回放的 binlog 时间戳。
- 支持 transaction_read_only/transaction_isolation 参数。
- 性能优化
- 优化 hash scan 的应用速度;在 slave 端,通过聚合 event 多个相同的 binlog event 来提升 hash scan 的应用速度。
- bug 修复
- 修复更新语句触发的临时表的重复主键、找不到列、列长度过长问题。
- 修复 DDL 过程中统计信息可能为零的问题。
- 修复连接状态统计中 undo log size 统计不准确的问题。
- 修复查询 metadata_locks 表导致实例 crash 的问题。
- 修改 of 为非保留关键字。
- 修复动态修改版本号在新连接显示无效问题。
- 修复 page_cache cleanning 访问野指针的问题。
- 修复执行 alter table 语句可能引发“Incorrect key file for table”报错的问题。
- 修复分区表使用内存过大的问题。
- 修复 show processlist 返回结果集中 TIME 字段出现-1的问题。
- 修复 slave 节点 XA 事务复制锁等待问题。
- 修复分区表在 equal range 查询时错误加锁问题。
|
20210331 | - 新特性
- 支持 delete/insert/replace 的 returning 语法,可以返回该 statment 所操作的数据行。 其中,delete 语句返回前镜像数据,insert/replace 返回后镜像数据。
- 支持列压缩功能:当前有针对行格式的压缩和针对数据页面的压缩,但是这两种压缩方式在处理一个表中的某些大字段和其他很多小字段,同时对小字段的读写很频繁,对大字段访问不频繁的情形中,它的读写访问都会造成很多不必要的计算资源浪费,列压缩可以压缩那些访问不频繁的大字段,同时能够减少整行字段的存储空间,提高读写访问的效率。
- 支持用户侧查询 character_set_client_handshake 参数显示当前值功能。
- 支持主动清理日志文件占用的 page cache:该功能采用滑动窗口的方式通过 posix_fadvise 主动清理日志文件占用的 page cache,降低操作系统内存压力,提升整机稳定性。
- 性能优化
- CREATE INDEX 并行化:CREATE INDEX 过程中需要执行外部归并排序,比较耗时。本次引入了并行外部归并排序算法,使 CREATE INDEX 耗时降低50%以上。
- 优化扫描 flush list 刷脏:通过优化刷脏机制,解决了创建索引过程中的性能抖动问题,提升了系统稳定性。
- 官方 bug 修复
- 修复内存泄漏问题。
- 移植8.0版本 json 的修复,提升使用 json 的稳定性。
- 修复 hash scan 导致1032问题。
- 修复热点更新功能的并发安全问题。
- 批量移植官方 gcol bug 修复。
- 修复 datetime 类型在某些场景下与字符串比较失败的问题。
- 修复主从 bp 同步功能文件句柄未释放 bug。
- 修复设置 offline_mode 的同时新建连接,可能触发死锁 bug。
- 修复范围查询并发场景下 m_end_range 设置不正确,导致的 crash 问题。
- 修复 groupby json 字段中 temporay table的update 耗时较长问题。
|
20201231 | - 新特性
- 支持 SELECT FOR UPDATE/SHARE 使用 NOWAIT 和 SKIP LOCKED 选项。
- 支持动态设置 thread_handling 线程模式或连接池模式。
- 支持主从 buffer pool 同步功能。
- 用户连接状态监控功能,监控项包括:同步异步 IO、内存、日志量,CPU 时间、锁占用时长等。
- 性能优化
- 事务子系统优化,提升高并发性能。
- 大事务 crash recover 启动时间优化。
- redo log 刷盘优化。
- buffer pool 初始化时间优化。
- utf8/utf8mb4 字符串效率优化。
- 审计性能优化。
- 解除了设置 gtid_purged 必须为空的限制。
- 备份锁优化:引入3个新的 SQL 语句,LOCK TABLES FOR BACKUP, LOCK BINLOG FOR BACKUP 和 UNLOCK BINLOG。相对于 FLUSH TABLES WITH READ LOCK 的上锁备份方式导致整个数据库不可提供服务,这三个语句是为了用于能够轻量级地对数据进行上锁,从而支持备份过程中的数据访问。不论是物理备份还是逻辑备份都可以使用这些语句来实现备份一致性的保护。
- 大表 drop table 优化。
- 官方 bug 修复
- 修复对 performance_schema 查询时 hang 住的问题。
- 修复 digest_add_token 函数里面的 overflow 的问题。
- 修复 MySQL 官方 truncate table 时,ibuf 访问导致 crash 的问题。
- 修复 left join 语句下 const 提前计算导致的查询正确性问题。
|
20200930 | - 性能优化
- 备份锁优化,FLUSH TABLES WITH READ LOCK 的上锁备份方式导致整个数据库不可提供服务,该版本中提供了轻量级的数据备份加锁方式。
- 大表 drop table 优化,快速清理自适应哈希的优化(innodb_fast_ahi_cleanup_for_drop_table 控制),可以大幅度缩短 drop 大表时,清理自适应哈希索引的耗时。
- 官方 bug 修复
- 修复 MySQL 官方 truncate table 时,ibuf 访问导致 crash 的问题。
- 修复有快速加列后的冷备无法拉起的问题。
- 修复频繁释放 innodb 内存表对象,导致性能下降的问题。
- 修复 left join 语句下 const 提前计算,导致的查询正确性问题。
- 修复 sql 限流和 query rewrite 插件因为 Rule 类名冲突,导致 core 的问题。
- 修复多个 session 下 insert on duplicate key update 语句的并发更新问题。
- 修复针对 auto_increment_increment 并发插入,导致 duplicate key error 失败的问题。
- 修复 innodb 内存对象淘汰触发宕机的问题。
- 修复热点更新功能的并发安全问题。
- 修复升级 jemalloc 版本至5.2.1,开启线程池触发 coredump 的问题。
- 修复 fwrite 无错误处理,导致审计日志不完整的问题。
- 修复 mysqld_safe以root 用户启动时,不打印日志的问题。
- 修复 alter table exchange partition 导致 ddl log 文件增长的问题。
|
20200701 | - 官方 bug 修复
- 修复 INNOBASE_SHARE index mapping 错误问题。
|
20200630 | - 新特性
- 支持 SELECT FOR UPDATE/SHARE 语句使用 NOWAIT 和 SKIP LOCKED 选项。
- 支持大事务优化功能,可缓解因大事务导致主从延迟、备份失败等问题。
- 审计性能优化:支持异步审计功能。
- 官方 bug 修复
- 修复 digest_add_token 函数里面的溢出问题。
- 修复 insert blob 导致实例 crash 的问题。
- 修复 hash scan 在 event 中出现对同一行更新而找不到记录,所造成主从中断的问题。
- 修复对 performance_schema 查询时 hang 住的问题。
|
20200331 | - 新特性
- 新增官方 MySQL 5.7.22 版本的 JSON 系列函数。
- 支持基于电商秒杀场景的 热点更新 功能。
- 支持 SQL 限流。
- 数据加密功能支持 KMS 自定义密钥加密。
- bug 修复
- 修复全文索引中,词组查找(phrase search)在多字节字符集下存在的崩溃问题。
- 修复高并发情况下,CATS 锁调度模块存在的崩溃问题。
|
20190830 | - 新特性
- 支持 binlog 文件损坏时跳过继续解析的功能,在主实例及 binlog 均损坏的场景下,可最大程度在备库中恢复数据并提供使用。
- 支持非 GTID 模式到 GTID 模式的数据同步。
- 支持用户通过 show full processlist 查询“用户线程内存使用信息”。
- 支持表 快速加列功能,不拷贝数据,不占用磁盘空间和磁盘 I/O,业务高峰期可以实时变更。
- 支持自增值持久化。
- 官方 bug 修复
- 修复 Grant 中列名出现保留字会造成复制中断问题。
- 修复分区表上进行反向扫描导致 SQL 执行效率变慢的问题。
- 修复主键表虚拟索引数据不一致导致查询结果异常的问题。
- 修复 InnoDB 主键范围查询导致数据缺失的问题。
- 修复对带有空间索引的表执行 DDL 导致系统 crash 的问题。
- 修复 binlog 过大时,心跳信息中文件长度溢出导致主备中断的问题。
- 修复删除 event 导致其他 event 不按时执行的问题。
- 修复汇总查询结果错误的问题。
|
20190615 | |
20190430 | - 官方 bug 修复
- 修复在子查询中使用长文本功能时的空指针引用问题。
- 修复 Hash Scan 所引起的主备中断问题。
- 修复因主库 binlog 切换导致 slave 节点 I/O 线程中断的问题。
- 修复使用 NAME_CONST 导致的 crash 问题。
- 修复字符集引起的 illegal mix of collation 问题。
|
20190203 | - 新特性
- 支持异步删除大表:异步、缓慢地清理文件,进而避免因删除大表导致业务性能出现抖动情况,该功能需 提交工单 申请开通。
- 支持 CATS 锁调度方式。
- GTID 开启时,支持事务中创建和删除临时表和 CTS 语法,该功能需 提交工单 申请开通。
- 支持隐式主键,该功能需 提交工单 申请开通。
- 支持非 super 权限用户 kill 其他用户会话的功能,通过 cdb_kill_user_extra 参数进行设置,默认值为 root@%。
- 支持企业级加密函数,该功能需 提交工单 申请开通。
- 官方 bug 修复
- 修复 binlog 缓存文件空间不足时造成复制中断的问题。
- 修复 fsync 返回 EIO,反复尝试陷入死循环的问题。
- 修复 GTID 空洞造成复制中断且不能恢复的问题。
|
20180918 | - 新特性
- 支持自动 kill 空闲事务,减少资源冲突,该功能需 提交工单 申请开通。
- Memory 引擎自动转换为 InnoDB 引擎:如果全局变量 cdb_convert_memory_to_innodb 为 ON,则创建/修改表时会将表引擎从 Memory 转换为 InnoDB。
- 支持隐藏索引功能。
- 支持 Jemalloc 内存管理,替换 jlibc 内存管理模块,降低内存占用,提高内存分配效率。
- 性能优化
- binlog 切换优化,减少 rotate 持有锁时间,进而提升系统性能。
- 提升 Crash Recovery 时的恢复速度。
- 官方 bug 修复
- 修复由于主备切换而引起 event 失效的问题。
- 修复 REPLAY LOG RECORD 所引起的 Crash 问题。
- 修复 Loose index scans 所导致查询结果错误的问题。
|
20180530 | - 新特性
- 支持 SQL 审计功能。
- 支持表级别的并行复制,该功能需 提交工单 申请开通。
- 性能优化
- slave 实例的锁优化,提高 slave 实例同步性能。
- select ... limit 的下推优化。
- 官方 bug 修复
- 修复由于 relay_log_pos & master_log_pos 位点不一致导致切换失败的问题。
- 修复 Crash on UPDATE ON DUPLICATE KEY 产生的 Crash 问题。
- 修复由于 JSON 列导入时引起的 “Invalid escape character in string.” 错误。
|
20171130 | - 新特性
- 支持 information_schema.metadata_locks 视图,查询当前实例中的 MDL 授予和等待状态。
- 支持语法 ALTER TABLE NO_WAIT | TIMEOUT,给 DDL 操作赋予等待超时,该功能需 提交工单 申请开通。
- 支持线程池功能,该功能需 提交工单 申请开通。
- 官方 bug 修复
- 根据 bytes_data 计算 innodb_buffer_pool_pages_data,避免该参数溢出。
- 修复在异步模式下速度限制插件不可用的问题。
|
本页内容是否解决了您的问题?