返回顶部
首页 > 资讯 > 数据库 >怎样解决ibdata1共享表空间文件一直增加的问题
  • 575
分享到

怎样解决ibdata1共享表空间文件一直增加的问题

2024-04-02 19:04:59 575人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关ibdata1共享表空间文件一直增加的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据库磁盘使用率一直上升,其中ibdata1使用有3

这期内容当中小编将会给大家带来有关ibdata1共享表空间文件一直增加的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

数据库磁盘使用率一直上升,其中ibdata1使用有323G,并且一直增加持续了31天

1、首先看了实例innodb_file_per_table是开启的

2、5.6版本undo信息

show variables like '%undo%';
1    innodb_undo_directory    .
2    innodb_undo_logs    128
3    innodb_undo_tablespaces    0

那么ibdata1文件增大的原因有如下因素:

InnoDB 引擎表由于支持多版本并发控制(mvcC),因此会将查询所需的Undo信息保存在系统文件ibdata1 中。

如果存在对一个InnoDB表长时间不结束的查询,而且在查询过程中表有大量的数据变化,

则会生成大量的Undo信息,导致 ibdata1文件尺寸增加。

由于 Mysql内部机制的限制,ibdata1文件目前是不支持收缩的。

因此出现这样的情况,只能通过切换主备,或者迁移,再或者增大存储空间解决。

建议:监控和清理执行时间过长的会话或事务

那么今天的例子大致如下:

通过show processlist 看到一个sql执行了31天,并且还处于query,Sending data状态,SQL本身三个表关联,没有关联条件,后面kill掉此sql,通过切换实例,新备重新搭建

1.2 数据文件

对于数据文件占用空间高的情况,可以通过清理数据的方式来减少空间占用情况,比如通过 drop table 和 truncate table 来清理不再需要的数据。

说明 3 个常见问题:

1.2.1 infORMation_schema.tables 查询的数据容量

information_schema.tables 提供的是根据采样获取的表的部分统计信息,因此通过下面的查询获取的表、库数据尺寸和实际数据文件占用尺寸间会有出入(通常要小于实际数据文件占用空间)

select table_name, concat(round((data_length + index_length)/1024/1024,2),'MB') from
    information_schema.tables where
    table_schema = 'TESTDB' and table_name = 'TESTTABLE';

下图中可以看到:在收集表的统计信息前后反馈出的表数据量大小存在差异。

怎样解决ibdata1共享表空间文件一直增加的问题

注:即使通过 analyze table 命令,重新收集统计信息,得到的数值通常也小于实际数据文件占用空间;比如本例的 16143 MB 也小于该表的数据文件实际占用空间。

由于数据文件在频繁的 DML 后会出现数据空洞的现象,比较接近实际数据文件占用空间的计算方法请参考:

select 
    sum(data_length + index_length + data_free) / 1024 / 1024from
    information_schema.tables;

注:
因为 information_schema.tables 中提供的是采样统计数据,因此该计算方式在统计数据比较接近实际的情况下,才会比较接近真实空间占用情况。

1.2.2 delete 删除数据

delete 操作不能够直接回收被删除数据占用的数据文件空间,这就好比排空泳池中水但泳池的占地面积不会发生改变一样。而且 delete 操作会生成相应的 Binlog 文件,会进一步恶化空间使用情况。在 delete 操作删除数据后,需要通过 optimize table tab_name; 操作来回收空间。

1.2.3  删除备份

自建mysql可能存在备份占用空间的问题,但是云上RDS 备份放置在后台 OSS 上,不占用用户的 RDS 实例空间,因此删除备份不能解决实例的空间问题。而且删除备份会影响实例的可恢复性,强烈建议任何情况下不要考虑删除备份。

1.3 临时文件

临时文件会随查询的结束或者会话的终止而自动释放,因此如果是临时文件导致实例空间满而定,可以通过终止会话来释放空间。

遇见过一个案例,客户排序操作导致ibtmp1很大,占用空间很高,需要释放,那么只能重启,也是切换成备库,然后重启新的备释放掉了

ib_logfile 日志文件:

ib_logfile0 和 ib_logfile1 日志文件保存 InnoDB 引擎表的事务日志信息,其文件大小尺寸固定,不可以改变。较大的尺寸在高并发事务的场景下有利于减少事务日志文件切换的次数,提高实例性能。

上述就是小编为大家分享的ibdata1共享表空间文件一直增加的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 怎样解决ibdata1共享表空间文件一直增加的问题

本文链接: https://lsjlt.com/news/60309.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎样解决ibdata1共享表空间文件一直增加的问题
    这期内容当中小编将会给大家带来有关ibdata1共享表空间文件一直增加的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。数据库磁盘使用率一直上升,其中ibdata1使用有3...
    99+
    2024-04-02
  • MySQL innodb共享表空间新增表空间数据文件方法是怎么样的
    本篇文章给大家分享的是有关MySQL innodb共享表空间新增表空间数据文件方法是怎么样的 ,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 ...
    99+
    2024-04-02
  • 解决vmware上Ubuntu共享文件夹的问题
    目录解决vmware上ubuntu无法共享文件夹问题第一步:设置共享文件夹第二步:安装open-vm-tools第三步:挂载文件夹先查看设置的文件夹有没有起效创建目录并挂载手动挂载/自动挂载最后保存退出(先别走!)解决vmware上ubun...
    99+
    2024-04-02
  • vmware上Ubuntu共享文件夹问题怎么解决
    本篇内容主要讲解“vmware上Ubuntu共享文件夹问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vmware上Ubuntu共享文件夹问题怎么解决”吧!解决vmware上ubunt...
    99+
    2023-07-02
  • linux中怎样解决文件已删除但空间不释放的问题
    这篇文章给大家介绍linux中怎样解决文件已删除但空间不释放的问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、错误现象运维的监控系统发来通知,报告一台服务器空间满了,登录服务器查看,根分区确实没有空间了:[roo...
    99+
    2023-06-28
  • 如何解决Win7共享文件无法保存的问题
    我们经常使用共享文件夹来帮助我们传输文件,但是有朋友说设置共享文件后无法保存,那么遇到这种情况该怎么办呢?以下就和小编一起来看看有哪些解决方案。如何解决Win7共享文件无法保存的问题首先,我们找到需要共享的文件,右键打开选择属性。二、点击上...
    99+
    2023-07-10
  • 如何解决win7无法访问windows 2003共享文件的问题
      win7无法访问Windows 2003共享文件,但windows2003可以访问该win7系统,   win7之间也可以相互访问,查来查去原来是本地策略问题。   解决方法: &nbs...
    99+
    2023-05-26
    win7 windows2003 文件 windows 2003 问题 共享
  • 如何解决虚拟机共享文件夹无法访问的问题
    要解决虚拟机共享文件夹无法访问的问题,可以尝试以下方法: 确保虚拟机工具已正确安装并已启用共享文件夹功能。 检查虚拟机设置中的共享文件夹配置是否正确,确保已将共享文件夹添加到虚拟机配置中。 在虚拟机中安装并配置虚拟机工具提供的共享文件夹驱...
    99+
    2024-06-11
    virtualbox
  • Linux文件后删除空间未释放问题怎么解决
    小编今天带大家了解Linux文件后删除空间未释放问题怎么解决,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux文件后删除空间未...
    99+
    2023-06-28
  • oracle数据库表空间扩容的问题怎么解决
    本文小编为大家详细介绍“oracle数据库表空间扩容的问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“oracle数据库表空间扩容的问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.查看表...
    99+
    2023-07-05
  • linux中怎么解决文件已删除但空间不释放的问题
    本篇内容主要讲解“linux中怎么解决文件已删除但空间不释放的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中怎么解决文件已删除但空间不释放的问题”吧!导读一般来说不会出现删除文件...
    99+
    2023-06-05
  • 【ubuntu22.04】解决VMware workstation共享文件夹在Ubuntu虚拟机不显示的问题
    【ubuntu22.04】解决VMware workstation共享文件夹在Ubuntu虚拟机不显示的问题 问题描述 我按照网络上的教程,在VMware workstation设置了共享文件夹,但是在我的ubuntu虚拟机内无法显示所设置...
    99+
    2023-08-23
    ubuntu linux 服务器
  • win10共享文件夹的创建、访问凭据一直提示“用户名或密码错误”的解决办法
    1.共享文件夹如何创建? 控制面板网络和共享中心设置  2.创建一个新的系统账户专门用于共享文件的访问(账户必须要设置密码)  3.右边空白处右键“新用户”  4.文件夹的共享设置        5.设置共享账户的访问权限 ...
    99+
    2023-09-13
    服务器 运维
  • 织梦DEDE会员空间文章列表无法分页的问题的解决
    织梦内容管理系统(dedecms) 以简单、实用、开源而闻名,是国内最知名的php开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,...
    99+
    2022-06-12
    DEDE 会员空间 文章列表 分页
  • 如何解决LINUX中文件已删除但空间不释放的问题
    这篇文章主要介绍“如何解决LINUX中文件已删除但空间不释放的问题”,在日常操作中,相信很多人在如何解决LINUX中文件已删除但空间不释放的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决LINUX...
    99+
    2023-06-13
  • springboot启动不加载bootstrap.yml文件的问题怎么解决
    这篇文章主要介绍“springboot启动不加载bootstrap.yml文件的问题怎么解决”,在日常操作中,相信很多人在springboot启动不加载bootstrap.yml文件的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简...
    99+
    2023-06-22
  • Sequoiadb给表增加字段后设置默认值无效的问题怎么解决
    这篇文章主要讲解了“Sequoiadb给表增加字段后设置默认值无效的问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Sequoiadb给表增加字段...
    99+
    2024-04-02
  • Java使用Class.forName加载外部Jar类文件的问题怎么解决
    本篇内容介绍了“Java使用Class.forName加载外部Jar类文件的问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!故事背...
    99+
    2023-07-02
  • 中间表是什么?和报表有什么关系?会带来怎样的问题?又如何解决?
    在数据库中有一类用于保存中间计算结果的物理表,通常被称为“中间表”。中间表主要跟 OLAP(在线联机分析)业务有关,产生的原因主要有以下几方面。 中间表来源 1. 计算逻辑复杂 在 OLAP(报表或查询)业务中,有些计算逻辑很复...
    99+
    2017-07-23
    中间表是什么?和报表有什么关系?会带来怎样的问题?又如何解决?
  • 怎么解决VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件问题
    本篇内容介绍了“怎么解决VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作