日期:2014-05-16 浏览次数:20690 次
?
转载地址?http://deeplyloving.iteye.com/blog/1542234
不知道为什么 innodb_file_per_table 没有设置成innodb的默认配置
?
共享表空间不会收缩! ibdata1 只会一个劲的增长。对于一台服务器上面n个库而且存在库的删除的情况就郁闷了。
?
?
mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。
这个文件的大小很容易就上了G。因此要把此文件缩小。数据文件单独存放。
?
先备份所有库
备份全部数据库,执行命令mysqldump -q -uusername -pyourpassword --add-drop-table -all-databases > /all.sql
?
修改my.ini文件,增加下面配置
innodb_file_per_table
?
删除原来的ibdata1文件及日志文件ib_logfile*,删除data目录下的应用数据库文件夹(mysql文件夹不要删)
?
?
还原数据库
执行命令mysql -uusername -pyourpassword < /all.sql
经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面
?
?