千家信息网

MySQL ibdata1文件太大的解决办法

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,在MySQL数据库中,如果不指定innodb_file_per_table=1参数单独保存每个表的数据,MySQL的数据都会存放在ibdata1文件里,时间久了这个文件就会变的非常大。下面是参考网上的
千家信息网最后更新 2025年11月07日MySQL ibdata1文件太大的解决办法

在MySQL数据库中,如果不指定innodb_file_per_table=1参数单独保存每个表的数据,MySQL的数据都会存放在ibdata1文件里,时间久了这个文件就会变的非常大。

下面是参考网上的一些资料,把数据分别保存在各数据库子目录里的方法,这样新产生的ibdata1文件就不会太大了。下面是在Ubuntu 14.04.12 x64,MySQL5.5上对ibdata1进行瘦身,操作过程的整理。


1、备份数据库中的数据。

mysqldump -u root -p --extended-insert --all-databases --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers > /home/all-database.sql

//有的文档用的是这样的参数:mysqldump -q -uroot -p --add-drop-table --all-databases --events >/home/all-database.sql

如果ibdata1上百GB,备份过程可能需要几小时。


2、停止MySQL服务。

service mysql stop


3、删除ibdata1、ib_logfile*等文件

mv ibdata1 ibdata1.20160419

mv ib_logfile0 ib_logfile0.20160420

mv ib_logfile1 ib_logfile1.20160420


4、修改my.cnf配置文件

vi /etc/mysql/my.cnf

在[mysqld]子项下增加如下配置:

innodb_file_per_table = 1


5、删除MySQL、performance_schema之外的所有数据库

cd /var/lib/mysql

rm -rf zabbix

服务器上只有Zabbix数据库。


6、重启MySQL服务

service mysql start

ps -ef|grep mysql


7、恢复数据(重新导入数据)

mysql -u root -p

Enter password:

>source /home/all-databaes.sql

>exit

//有的文档用这样的命令格式:mysql -uroot -p < /home/all-database.sql

Enter password:

其中的/home/all-database.sql即为第一步备份生成的文件,如果原来数据库中数据较多,还原过程可能会持续较长时间,请耐心等待还原完成。如果超过30个小时还没完成,可能要考虑中止恢复数据操作,先清除一部分table中的数据,从步骤1重新开始。如果table中记录特多又可以全部删除,用truncate 速度比较快。


经过以上几步后,可以看到新的ibdata1文件就只有几十兆了,数据及索引都变成了针对单个表的小

ibd文件了,它们在相应数据库的文件夹下面。


百度文库中有篇文档"解决ibdata1文件过大问题操作手册"写的更详细。链接为:http://wenku.baidu.com/link?url=2qj73zDqwLwNIAPg6tB60c20wAE6a_2IIcJ8fGb2EUk0rmRdxqq2Wc0yAgnx7hoJ-dICC4rzhC9I0rWdgLVV-avatmeuCh74JxRE22NE4N_

数据 文件 数据库 备份 文档 过程 服务 参数 只有 小时 配置 耐心 单个 命令 子目 子目录 子项 手册 操作手册 文件夹 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络技术发展的几个阶段的手抄报 微商城系统软件开发 公安机关网络安全管理待遇 网络安全现场检查反馈意见 数据库码的英文 品质网络技术哪家好 5g移动网络技术 我的世界开服服务器 软件开发公司部门组织构成 定制手机软件开发公司 自考计算机网络技术改版 医院oracle数据库一体机 徐州艾特网络技术有限公司 湖北多功能软件开发价格对比 自学什么数据库软件好 数据库怎么存到mysql 完美地图文件与服务器不同 无锡环保网络技术服务价格 软件开发专业可以学高数吗 容器化的数据库 新建数据库 排序规则 河南国产服务器哪个好 查数据库表中所有信息 快手服务器处于维修状态 网络安全方向要学什么语言 商业类国外数据库 厦门小程序软件开发有限公司 连接土地承包数据库失败怎么办 中国国家知识专利产权局数据库 网络安全自主可控公司
0