首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MariaDB(11.4 GA)解决了MySQL临时表空间无限增大的问题

MariaDB(11.4 GA)解决了MySQL临时表空间无限增大的问题

原创
作者头像
贺春旸的技术博客
发布2024-12-17 10:38:50
发布2024-12-17 10:38:50
3750
举报
文章被收录于专栏:DBA 平台和工具DBA 平台和工具

MariaDB(11.4 GA)解决了MySQL临时表空间无限增大的问题

受影响版本:MySQL 5.7 和 8.0

MySQL BUG复现步骤:

1.创建一个包含1000万行记录的 sbtest1 表(可以使用 sysbench 工具生成数据)。

2.创建一个临时表 sbtest2,其结构与 sbtest1 相同:

代码语言:sql
复制
mysql> CREATE TEMPORARY TABLE sbtest2 LIKE sbtest1;

3.向临时表sbtest2 插入1000行数据:

代码语言:sql
复制
mysql> INSERT INTO sbtest2 SELECT * FROM sbtest1;

4.退出会话,临时表sbtest2 被系统自动删除:

代码语言:sql
复制
mysql> EXIT;

5.然而,在MySQL中,InnoDB 临时表(例如 ibtmp1)所占的空间不会被释放,导致专用共享表空间不断增大。

MariaDB 解决方案:

在MariaDB中,您可以通过设置 innodb_truncate_temporary_tablespace_now 系统变量,在无需重启数据库的情况下缩减临时表空间:

代码语言:sql
复制
MariaDB> SET GLOBAL innodb_truncate_temporary_tablespace_now = 1;

这一改进有效避免了MySQL中临时表空间持续膨胀的问题。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL BUG复现步骤:
  • MariaDB 解决方案:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档