首页 > 数据库 >MySQL .ibd 文件很大清理空间

MySQL .ibd 文件很大清理空间

时间:2023-03-02 14:24:09浏览次数:36  
标签:文件 数据库 清理 ibd MySQL 优化

如果你的 MySQL .ibd 文件很大,但是你的数据库文件大小不太,可能有几个原因:

  1. 数据库文件和 .ibd 文件存储在不同的磁盘上。如果是这种情况,那么你需要清理 .ibd 文件所在的磁盘上的空间。

  2. 数据库中的数据已经被删除了,但是 .ibd 文件中仍然保留着这些数据。这可能是因为 MySQL 并不会在删除数据时立即释放磁盘空间,而是将其标记为可重用的空间。要清理这些空间,可以使用 OPTIMIZE TABLE 命令来重建表,这将释放未使用的空间。

  3. .ibd 文件可能包含一些临时数据,例如事务回滚期间未被清理的临时数据。这些数据可以通过重启 MySQL 服务来清理。重启服务将关闭所有连接到数据库的进程,并清除 .ibd 文件中的临时数据。

请注意,清理 .ibd 文件可能会导致数据丢失,因此在进行任何操作之前,务必备份数据。

 

使用 OPTIMIZE TABLE 命令来重建表可以释放未使用的空间。以下是具体的操作步骤:

  1. 登录 MySQL 服务器。可以使用以下命令:

    mysql -u <用户名> -p

    这将提示你输入密码,并进入 MySQL 控制台。

  2. 选择要进行优化的数据库。可以使用以下命令:

    use <数据库名>;

    这将切换到指定的数据库。

  3. 选择要进行优化的表。可以使用以下命令:

    OPTIMIZE TABLE <表名>;

    这将开始优化指定的表。优化过程可能需要一些时间,具体时间取决于表的大小和服务器性能。

  4. 等待优化完成。当优化完成时,MySQL 将显示一条消息,指示表已被优化。你可以使用以下命令来查看表的状态:

    SHOW TABLE STATUS LIKE '<表名>';

    这将显示表的详细信息,包括其大小和行数。如果优化成功,你应该会看到表的大小减小了。

请注意,重建表可能会导致数据丢失,因此在进行任何操作之前,务必备份数据。另外,对于非常大的表,优化过程可能会影响数据库的性能,因此需要在适当的时间进行。

标签:文件,数据库,清理,ibd,MySQL,优化
From: https://www.cnblogs.com/fanhua999/p/17171623.html

相关文章

  • mysql知识点一
    1.mysql中造成索引失效的原因有哪些?如何分析和解决?原因:1.like以通配符%开头索引失效通常用的索引数据结构是B+树,而索引是有序排列的优化:一种是使......
  • mysql学习之join从句
    一、join从句共有5种类型内连接(innerjoin)全外连接(fullouterjoin)左外连接(leftouterjoin)右外连接(rightouterjoin)交叉连接(crossjoin)二、演示案例新建两张表user1表和us......
  • SpringBoot+MybatisPlus+MySql 自动生成代码 自动分页
    SpringBoot+MybatisPlus+MySql自动生成代码自动分页一、配置<!--Mybatisplus--><dependency><groupId>com.baomidou</groupId>......
  • MySQL出现“BLOB/TEXT column used in key specification without a key length”的解
    问题排查在我用GORM保存对象的的时候,报了“BLOB/TEXTcolumnusedinkeyspecificationwithoutakeylength”的错误。经过网上查资料发现最主要原因是,我把longtext字......
  • go 下的查询数据库的框架 ORM框架:访问mysql数据库
    运维的基友习惯使用python了,学习go的时候是不是被gorm恶心死了例如pythonflask框架下的orm那么好用简单,或者号称世界上最好用的语言php的同学们也是非常的苦恼呢......
  • 如何用GORM向MySQL插入带有emoji
    最开始因为我根据网上的GORM连接MySQL教程,所以在代码中charset参数是写死的,如下:fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local",a,b,c,d)......
  • docker启动mysql注意事项
    1.编码问题登录mysql伪终端mysql查看编码showvariableslike'character%';宿主机在conf.d中添加配置my.cnf文件[client]default_character_set=utf8[mysqld]c......
  • 【MySQL】导出到CSV
    http://www.yiidian.com/mysql/mysql-export-table-to-cvs.html  要将表导出为CSV文件,我们将使用SELECTINTO....OUTFILE语句。该语句是对LOADDATA命令的补充,该......
  • mysql5.7之JSON数据类型
    1、json对象1.1、方法使用对象操作的方法进行查询:字段->'$.json属性'使用函数进行查询:json_extract(字段,'$.json属性')获取JSON数组/对象长度:JSON_LENGTH()1.2、......
  • docker启动mysql报错Can't read dir of '/etc/mysql/conf.d/'
    执行命令:dockerrun-p3306:3306--privileged=true-v/mysql/data:/var/lib/mysql-v/mysql/log:/var/log/mysql-v/mysql/conf:/etc/mysql-eMYSQL_ROOT_PASSWORD=......