在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_

mysql ibdata1 压缩_MySQL ibdata1文件太大的解决办法相关推荐

  1. mysql data 文件过大_MySQL ibdata1文件太大的解决办法

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

  2. mysql数据库建表失败_mysql数据库文件太大导致建表失败,如何避免

    [求助]mysql数据库文件太大导致建表失败,如何处理? 目录下各文件大小如下: root /mbsc/mysql/data # ll total 120646812 -rw-rw---- 1 mys ...

  3. Python打包exe程序(pyinstaller)以及打包文件太大的解决方法

    编写的python项目,如何在没有python环境的电脑中运行? 打包成exe可执行程序即可 本文章可以教会你如何将python项目打包成exe可执行程序,以及打包后文件太大该如何解决! 来了来了,开 ...

  4. 小程序开发过程中,图片过多,导致打包文件太大的解决方式

    小程序开发过程中,图片过多,导致打包文件太大 小程序中,除了必须的一些tabbar图片,其他都可以放置在资源服务器上,用url进行引用.不然会因为图片太大使小程序打包后超过2M,不能发行.查了一些资料 ...

  5. 压缩pdf大小的方法?怎样压缩pdf大小?pdf文档怎么压缩?pdf文件太大怎么压缩?pdf文件太大怎么压缩成小内存?如何降低pdf文件大小?怎么把pdf文件压缩到指定大小?压缩pdf的简单方法

    pdf在线压缩大小?在工作中需要处理大量PDF文件,我们通常要对PDF文件进行压缩处理.那么问题来了,PDF文件该怎么压缩呢?可能很多人都不知道具体的操作方法,今天要分享给大家的正是PDF压缩的方法, ...

  6. sql服务器 文件太大,sqlserver2008 解决 ldf文件过大的步骤

    sqlserver2008 解决 ldf文件过大的方法 SQL2008清空删除日志: '在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式. -------------- ...

  7. mysql (errcode 28)_MySQL出现Errcode:28错误提示解决办法

    mysql出现Error writing file \'xxx\'( Errcode:28)的原因有很多种,下面我来总结一些常用的关于引起Errcode:28错误原因与解决方法. 问题一,是log日志 ...

  8. python打包的程序很大_Pyinstaller 打包以及pipenv 虚拟环境应用,以及打包出来程序太大的解决办法...

    直接在基本环境中使用Pyinstaller将pyinstaller 打包成exe, 打包出来的exe会非常大, 最好用pipenv创建一个虚拟环境. 在虚拟环境中安装你写的python程序需要的各种包 ...

  9. docker占用磁盘空间太大的解决办法

    解决Docker占用磁盘空间太大的问题 docker system 命令 1.查看磁盘空间资源情况统计表 2.借助docker自带自动化清理工具进行清理(请自重) 手动清理 Docker 镜像(Ima ...

最新文章

  1. 表格中td限宽溢出以省略号代替
  2. centos7 升级openssh7.4之后 报错
  3. Android中接收系统广播消息
  4. linux定时任务Crond生产规范案例精讲09
  5. SAP Analytics Cloud里Exception Aggregation Type的设置
  6. 【pytest】Hook 方法之 pytest_addoption :注册命令行参数
  7. Unix Vi命令基本用法
  8. delphi 发送html邮件,delphi 发邮件 Delphi发送邮件的源码
  9. 分享一个不错的数据分析实战案例【全程附图】EXCEL
  10. iOS 几种打包方式
  11. 2019考研英语熟词生义
  12. 百度竞价推广之关键词选择技巧
  13. 肇庆学院计算机选修旷课,化学化工学院考查课管理办法(试行)
  14. 国家集训队论文分类整理(转)
  15. 初学Android,图形图像之使用Canvas,Paint绘图(二十五)
  16. 局域网内打印机打印只能打印一页或是几页的解决办法
  17. 苹果电脑计算机无法启动,MacBook Pro 按开机按钮没反应无法开机
  18. 体验腾讯云区块链服务平台TBaaS
  19. 《沧浪之水》、《因为女人》作者阎真的最新作品《活着之上》的阅后笔记
  20. 索尼Alpha系列相机通过照片读取快门次数的在线工具

热门文章

  1. Node爬虫之使用 async 控制并发
  2. 微信小程序到底适合哪些行业?
  3. PaaS+低代码,更猛烈的云计算第三次浪潮
  4. Android touch 事件的处理流程
  5. 关于环境保护html网页设计完整版-4环保垃圾分类5页
  6. 商业书籍精华摘要《专注》丹尼尔·戈尔曼 Focus by Daniel·Goleman
  7. 周赛(三)_dp_01背包_1423: 贪婪戈尔曼
  8. python是什么以后就业前景_python就业前景怎么样?
  9. 网络安全-字典生成-crunch
  10. 《少年先疯队》第四次作业:项目需求调研与分析