天天看点

ibdata1文件非常大如何解决

ibdata1文件非常大如何解决

分析:

可能启用了共享表空间

改变方法;启用独立表空间innodb_file_per_table(如果这个参数没有开启,mysql会将数据、索引、元数据都存入到ibdata中的)

数据表

表索引

mvcc(多版本并发控制)数据

回滚段

撤销表空间

表元数据,都写入到了ibdata1文件中。

1):mysqldump的所有数据库到一个sql文本文件

2):删除所有的数据库(mysql,performance_schema,information_schema除外)

3):service mysql stop

4):将下面内容添加到 /etc/my.cnf

注意:这里的innodb_buffer_pool_size的值最好设置物理内存70%,如果太大的话可能造成oom

5):删除ibdata1中,ib_logfile0和ib_logfile1

6):service mysql start

7):重新sql data.sql到mysql ibdata1文件会增长,但是只包含数据表