网站首页 > 教程文章 正文
MySQL 9.3.0 版本于 2025 年 4 月 15 日发布,这是一个创新版本。
注意事项:从这个版本开始,不再支持创新版之间的降级,即使在同一个版本序列中也不行,例如 MySQL 9.3.1 不支持降级到 MySQL 9.3.0。
该版本包含的主要功能更新问题修复如下:
- 容器感知资源配置(InnoDB):InnoDB 现在能根据容器的逻辑 CPU 和内存限制动态调整配置参数,包括:基于 CPU 的配置:innodb_buffer_pool_instances(缓冲池实例数)、innodb_purge_threads(清理线程数)、innodb_parallel_read_threads(并行读线程数);基于内存的配置:temptable_max_ram(临时表内存上限)、innodb_buffer_pool_size(缓冲池大小,需启用 --innodb-dedicated-server)。提升在 Kubernetes 等容器化环境中的资源适配能力。
- JavaScript 存储程序增强:JavaScript 程序支持 DECIMAL 类型的输入输出及预编译语句绑定,默认将 DECIMAL 转换为字符串以保留精度,可通过 decimalType: mysql.DecimalType.NUMBER 转为数值类型。本地化与国际化:支持通过 Intl 对象实现日期、数字的本地化格式(如 lc_time_names = “ja_JP” 映射为 JavaScript 的 ja-JP 区域设置)。库管理功能扩展:新增 CREATE LIBRARY COMMENT 为库添加注释,SHOW LIBRARY STATUS 查看库状态,ALTER LIBRARY 修改注释。
- Group Replication 改进:新增 Group Replication Primary Election 组件,支持基于“最新事务”选举主节点,并记录选举时间戳和事务差异;允许空事务(如 GTID_NEXT 指定的无操作事务)与其他非依赖事务并行执行,提升性能;修复节点加入集群时 COUNT_TRANSACTIONS_ROWS_VALIDATING 无限增长导致内存泄漏的问题。
- SQL 函数与优化器:引入 --check-table-functions 选项,在升级时检查表约束、默认值等依赖的函数兼容性,防止表无法打开;扩展 subquery_to_derived 子查询优化,支持所有 ANY/ALL 比较操作符(如 <ANY、>=ALL),并允许在 SELECT 和 WHERE 子句中使用。
- 企业版功能:原“数据脱敏与去标识化”功能更名为“数据脱敏”,文档同步更新;Option Tracker 组件新增对传统优化器和 Hypergraph 优化器的支持,替换 used 布尔值为计数器 usedCounter。
- 弃用与移除:移除旧配置 innodb_undo_tablespaces(MySQL 8.0.14 已弃用)、innodb_log_file_size 和 innodb_log_files_in_group(MySQL 8.0.30 已弃用);移除 Version Tokens 插件(MySQL 9.2.0 已弃用)。
- 配置限制:replica_parallel_workers 最低值调整为 1(禁止设为 0)。
- 配置工具修复(Windows):修复 MySQL Configurator CLI 忽略 --install-sample-database 选项、升级时找不到 my.ini 等问题。
- InnoDB 问题修复:CHECK TABLE EXTENDED 现在验证空间索引的 MBR(最小边界矩形)是否与聚簇索引记录一致;修复 Clone_persist_grid 线程的内存泄漏问题;ALTER TABLE 禁止通过 INPLACE 方式修改列大小导致索引超限(如 Redundant/Compact 行格式下的 767 字节限制)。
- 复制与组复制:修复 CRC32 哈希冲突导致副本 ER_KEY_NOT_FOUND 错误的问题;通过增强锁机制,确保 gtid_executed 与二进制日志位置一致;修复节点过载时 XCom 线程因同步 SSL 连接阻塞导致的集群分裂问题。
- 客户端工具:mysqldump 新增 --users 导出用户账户(支持 --add-drop-user 删除旧用户),修复特殊字符转义问题;mysql 客户端查询执行时间显示至毫秒精度(如 0.123 秒)。
- 其他修复:修复 LPAD() 对空字符串的处理问题;修复 NULL 安全等于运算符 (<=>) 在多列比较中的行为;修复 MAX() 窗口函数在特定排序场景下的结果准确性。
- 安全与编译更新:捆绑的 OpenSSL 库升级至 3.0.16,修复已知安全问题;弃用 OpenSSL Engine 接口(仅支持 OpenSSL 1.1 以下版本);升级第三方库(如 curl 8.12.1、opentelemetry-cpp 1.19.0)。
MySQL 9.3.0 版本完整的更新细节可以查看官方发布说明:
https://dev.mysql.com/doc/relnotes/mysql/9.3/en/news-9-3-0.html
猜你喜欢
- 2025-05-11 阿里开源MySQL中间件Canal快速入门
- 2025-05-11 MyBatis插件开发实战:手写一个分页插件
- 2025-05-11 Flask数据库——SQLAlchemy
- 2025-05-11 MySQL 到 Hazelcast Cloud 实时数据同步实操分享
- 2025-05-11 sqlmap 详解
- 2025-05-11 一篇文章让你学会Elasticsearch中的查询
- 2025-05-11 Mysql性能优化这5点你知道吗?简单却容易被初学者忽略!
- 2025-05-11 Spring Boot 实现 MySQL 读写分离技术
- 2025-05-11 Spring事务失效的7大场景:源码级排查方案来了!
- 2025-05-11 MySQL利用int类型高性能实现签到活动
- 最近发表
-
- 一课译词:一刀两断(一刀两断成语解释)
- 核心短语break up用法解析(breakd短语)
- HTML+CSS 实现商品图片列表放大视觉效果 复制完整代码即可马上调用
- 前端实现右键自定义菜单(前端实现右键自定义菜单怎么设置)
- Python中docx与docxcompose批量合并多个Word文档并添加分页符
- Java 将Excel转为XML(java将xls转换成xlsx)
- jq+ajax+bootstrap改了一个动态分页的表格
- css兼容性问题及一些常见问题汇总大全,赶快收藏!
- Java 的业务逻辑验证框架 之-fluent-validator
- 小程序cover-view踩坑系列2(微信小程序overflow)
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)