日期:2014-05-16  浏览次数:20644 次

mysql ibdata 分开

?

转载地址?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文件了,它们在相应数据库的文件夹下面

?

?