天天看點

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檔案會增長,但是隻包含資料表