ibdata1是mysql使用InnoDB引擎的时候需要使用的文件。这个文件有的时候会变得很大,并且在你删除数据的时候,文件也不减小。
下面是处理超大ibddata1文件的步骤:
1. 对每张表使用单独的innoDB文件, 修改/etc/my.cnf文件,windows下是my.ini文件
目的很明确,我们可以单独删除每个文件
2. 导出所有的数据,重建数据库,然后恢复数据:
3. /var/lib/mysql的每个数据库下面,都有会很多的.ibd文件。这些分散的.ibd文件取代了原来的那个ibddata1。
以后删除数据库的时候,直接删除某个数据库的目录就可以了。
下面是处理超大ibddata1文件的步骤:
1. 对每张表使用单独的innoDB文件, 修改/etc/my.cnf文件,windows下是my.ini文件
点击(此处)折叠或打开
- #Set Innodb isolated tablespace
- innodb_file_per_table=1
2. 导出所有的数据,重建数据库,然后恢复数据:
点击(此处)折叠或打开
- # /usr/bin/mysqldump -R -q --all-databases > /temp/all.sql
- # service mysqld stop
- # rm -fr /var/lib/mysql/*
- # /usr/bin/mysql_install_db
- # service mysqld restart
- # mysql /tmp/all.sql
3. /var/lib/mysql的每个数据库下面,都有会很多的.ibd文件。这些分散的.ibd文件取代了原来的那个ibddata1。
以后删除数据库的时候,直接删除某个数据库的目录就可以了。