MySQL ibdata1 占用空间大 释放 MySQL ibdata1 档案的空间
说明: mysql 有多种储存引擎,比如 MyISAM 、 InnoDB 很常用。 如果用的 InnoDB, 且使用 mysql 预设的配置档案,MySQL 的资料都会存放在 ibdata1 档案中,经过一段时间此档案会变的非常大,占用大量磁碟空间。如何把 mysql 占用的空间释放出来。
mysql ibdata1 存放资料,索引等,是 MYSQL 的最主要的资料。
步骤:
1,备份资料库
备份全部资料库,执行命令mysqldump  -uusername -ppassword  –all-databases > /backup/all.sql 或者只备份需要的库。
删除资料库
drop database A;
drop database B;
停止资料库: service mysqld stop 
2,修改 mysql 配置档案
修改 my.cnf 档案,增加下面配置
innodb_file_per_table
对每张表使用单独的 innoDB 档案, 修改/etc/my.cnf 档案
3,删除原资料档案
删除原来的 ibdata1 档案及日志档案 ib_logfile*,删除 data 目录下的应用资料库资料夹 (mysql,test,information_schema 资料库本身资料夹不要删除)
4,还原资料库
启动资料库服务 service mysqld start
还原全部资料库,执行命令 mysql -uusername -ppassword