在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. 文档信息的向量化-NNLM模型和word2vec
  2. Spark+hadoop+mllib及相关概念与操作笔记
  3. @order注解_Spring Boot+OAuth2,一个注解搞定单点登录!
  4. DDD理论学习系列(1)-- 通用语言
  5. Toping Kagglers:Bestfitting,目前世界排名第一
  6. 对当前目录及子目录下的所有源码文件及Makefile打包
  7. MySQL查询实验报告_实验报告数据库的基本查询'
  8. ECCV18|这篇论文开源的车牌识别系统打败了目前最先进的商业软件(附Github地址)...
  9. 人魔比妖都恶的时代...
  10. Source Insight 快捷键大全
  11. 编译运行一个java程序_如何从另一个Java程序编译和运行Java程序
  12. 【三维路径规划】基于matlab改进差分算法多无人机协同三维路径规划【含Matlab源码 169期】
  13. 计算机专业今日份例句
  14. Python中的any函数
  15. POI excel单元格中内容换行
  16. cba篮球暂停次数和时间_NBA和CBA篮球规则的主要不同
  17. 一文总结图像生成必备经典模型(二)
  18. 动图如何在线制作?教你一键在线制作动图
  19. 视频会议turbomeeting支持高度灵活桌面共享
  20. 看了某些蛊惑人心的招聘广告,实在忍不住想要提醒那些跃跃欲奉献的后生们...

热门文章

  1. 一个数字加运算的验证码
  2. touch命令和mkdir命令
  3. 原理图库设计1-管脚类型设定
  4. python控制小数点位数_python中实现控制小数点位数的方法
  5. 快速开发GD32和涂鸦CBU模组通信
  6. C语言基础:强制类型转换
  7. 《每日一荐月刊》2020-01
  8. 国产华为android手机怎么截图,华为手机有6种截屏方法,你都知道几种?
  9. 国内外网络安全类网站
  10. Qt Design Studio的3D编辑器