`

[转载]释放MySQL ibdata1文件的空间

阅读更多
在MySQL数据库中,如果不指定innodb_file_per_table参数,单独存在每个表的数据,MySQL的数据都会存放在ibdata1文件。
mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。

步骤:

1,备份数据库

从命令行进入MySQL Server 5.1/bin
备份全部数据库,执行命令mysqldump -q -uusername -pyourpassword --add-drop-table --all-databases > /backup/all.sql

除数据库
drop database db1;
drop database db2;

此处不删除应用数据库,在全库恢复数据库时,就会报异常错误,一些表的*.ibd会报不存在。

解决方式:

movo db1 /backup/db1_bak

movo db2 /backup/db2_bak

做完此步后,然后停止数据库。


2,修改mysql配置文件

修改my.cnf文件,增加下面配置

innodb_file_per_table

对每张表使用单独的innoDB文件, 修改/etc/my.cnf文件

3,删除原数据文件

删除原来的ibdata1文件及日志文件ib_logfile*,删除data目录下的应用数据库文件夹(mysql,test,information_schema数据库本身文件夹不要删除)

4,还原数据库

启动数据库服务

从命令行进入MySQL Server 5.1/bin
还原全部数据库,执行命令mysql -uusername -pyourpassword < /all.sql

大公告成。

经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面。
分享到:
评论

相关推荐

    MYSQL ibdata文件恢复工具 2.1

    MYSQL数据库碎片恢复工具,已经完工。专门针对MYSQL的ibdata1 引擎 编写,支持MYSQL 3 4 5 6版本,任意平台的IBDATA文件恢复。支持误删除 ,所在分区被格式化,支持黑客故意破坏等情况,自动侦测半页。提取合成。

    完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)

    当MySQL服务尝试启动时,如果`ibdata1`文件损坏,它将无法正常完成初始化过程,从而导致服务立即关闭。从给出的错误日志中,我们可以看到一些关键信息: 1. 错误日志显示MySQL尝试启动并加载InnoDB存储引擎。 2. 在...

    MYSQL ibdata文件恢复工具

    MYSQL数据库碎片恢复工具,已经完工。专门针对MYSQL的ibdata1 引擎 编写,支持MYSQL 3 4 5 6版本,任意平台的IBDATA文件恢复。支持误删除 ,所在分区被格式化,支持黑客故意破坏等情况,自动侦测半页。提取合成

    MySQL的InnoDB扩容及ibdata1文件瘦身方案完全解析

    MySQL的InnoDB存储引擎在处理大量数据时,其系统表空间文件`ibdata1`往往会变得非常庞大,占据了大量硬盘空间。本篇文章将全面解析如何对InnoDB进行扩容以及如何瘦身`ibdata1`文件。 ### InnoDB扩容 扩容InnoDB表...

    mysql Unable to lock ./ibdata1, error: 11

    标题“mysql Unable to lock ./ibdata1, error: 11”所反映的问题是MySQL数据库在运行过程中遇到了一个常见的错误,提示无法锁定数据文件`ibdata1`,错误代码11。这个错误通常与数据库的表空间管理、并发操作或者...

    MySQL启动报错问题InnoDB:Unable to lock/ibdata1 error

    这个问题通常表明MySQL的InnoDB存储引擎无法获取对`ibdata1`文件的锁,`ibdata1`是InnoDB用来存储数据和系统表空间的文件。这个错误可能是由于多种原因导致的,包括但不限于以下几点: 1. **另一个mysqld进程正在...

    MySQL问答系列之如何避免ibdata1文件大小暴涨

    ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据、撤销记录、修改buffer和双写buffer。如果file-per-table选项打开的话,该文件则不一定包含所有表的数据。当innodb_file_per_table...

    ibdata1-recover-for-mysql

    ibdata1-recover-for-mysql ibdata1 还原数据库 ibdata1 还原表结构

    使用ibdata和frm文件恢复MySQL数据库.docx

    3. 将备份的原始数据库文件中的所有 .frm 文件(保持原来的目录结构)和 ibdata1 文件复制到新服务器的数据库文件目录中。 4. 使用 -innodb_force_recovery=6 参数启动数据库服务器进程:/etc/init.d/mysqld start -...

    mysql 误删除ibdata1之后的恢复方法

    MySQL数据库的InnoDB存储引擎使用一个名为`ibdata1`的数据文件来存储表数据和索引,以及系统表空间信息。当这个文件被意外删除时,可能会引发严重的数据丢失问题,尤其是在没有最近备份的情况下。然而,如果MySQL...

    Mysql InnoDB删除数据后释放磁盘空间的方法

    3. 删除InnoDB相关的所有数据文件,包括ibdata1(系统表空间文件)和ib_logfile*(重做日志文件)。 4. 重启MySQL服务,系统会自动重建这些必要的文件。 5. 最后,导入之前备份的数据库文件,恢复数据。 具体的命令...

    Mysql数据库的使用总结之ERROR 1146.docx

    ibdata1文件是Mysql数据库的真实数据存放文件,错误的ibdata1文件将导致ERROR 1146错误的出现。解决方法是删除ibdata1文件,然后重新生成正确的ibdata1文件。 InnoDB存储引擎的配置 InnoDB存储引擎是Mysql数据库中...

    MySQL数据库文件介绍及存放位置

    - **ibdata1、ibdata2等文件**:系统表空间文件,存储InnoDB系统信息以及所有用户数据库表的数据和索引。这些文件为所有表共享。 - **.ibd文件**:单表表空间文件,每个表使用一个.ibd文件,存储用户数据库表的数据...

    MySQL数据库文件存放位置

    1. ibdata1:这是InnoDB存储引擎的数据文件,包含InnoDB表的数据和索引。 2. *.frm:表结构文件,存储了表的定义信息。 3. *.ibd:InnoDB表的独立数据文件,从MySQL 5.6开始引入,用于存储用户数据。 4. *.myd:...

    mamp pro 中mysql文件

    数据日志文件,如`ibdata1`和`ib_logfile*`,存储了数据库的实际数据和事务日志。如果这些文件损坏,可能导致无法启动MySQL服务。在这种情况下,备份用户数据后,替换这些文件可能会解决问题,但请注意,这可能会...

Global site tag (gtag.js) - Google Analytics