下面是处理超大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。
以后删除数据库的时候,直接删除某个数据库的目录就可以了。