mysql中ibdata1過大的問題

2021-09-07 16:28:31 字數 703 閱讀 8133

ibdata1檔案是什麼?

答:ibdata1是乙個用來構建innodb系統表空間的檔案,這個檔案包含了innodb表的元資料、撤銷記錄、修改buffer和雙寫buffer。如果file-per-table選項開啟的話,該檔案則不一定包含所有表的資料。當innodb_file_per_table選項開啟的話,新建立表的資料和索引則不會存在系統表空間中,而是存放在各自表的.ibd檔案中。

顯然這個檔案會越來越大,innodb_autoextend_increment選項則指定了該檔案每次自動增長的步進,預設是8m。

是什麼原因導致ibdata1檔案會越來越大?

答:顯然ibdata檔案存的是資料庫的表資料,如快取,索引等。所以隨著資料庫越來越大,表也會越大,這個無法避免的。那麼伺服器硬碟空間不夠了怎麼辦?我們只能把ibdata中的一些log檔案都清掉。

怎麼解決問題?

答:ibdata檔案中包含的資料並不是我們都需要的,比如撤銷日誌,這些日誌是可以定期刪除的。但是之前是放在乙個檔案中,所以不好刪除。因此最好的辦法是把ibdata中需要存放的內容進行分開存放,除了

資料檔案可以儲存,其他不是非必要檔案都單獨存放並且定時清理。這樣可以緩解資料庫伺服器磁碟的壓力。

如果ibdata已經很大了該怎麼辦?

答:先把資料庫檔案備份下來,然後直接刪除ibdata檔案,重新匯入資料庫檔案即可。這樣就可以把ibdata中的日誌和快取都刪除掉了。

**:

MySQL的ibdata1檔案占用過大

本人遇到一次在安裝zabbix監控的時候,yum安裝的mysql資料庫,後面用了一段時間發現data目錄下的ibdata1的空間特別大,反而我的zabbix資料庫的空間很小,這樣的情況在後面備份zabbix資料庫的時候會很不方便,所以想著要怎麼解決下。ibdata1檔案是什麼?ibdata1是乙個用...

處理MySQL的ibdata1檔案過大問題

ibdata1檔案是什麼?ibdata1是乙個用來構建innodb系統表空間的檔案,這個檔案包含了innodb表的元資料 撤銷記錄 修改buffer和雙寫buffer。如果file per table選項開啟的話,該檔案則不一定包含所有表的資料。當innodb file per table選項開啟的...

如何刪除ibdata1

高危操作,謹慎執行,因為執行完操作之後,資料庫原來的表可能會不能用 資料庫優化需要注意的地方 1 在資料庫test中,如果其中一張表的資料量很大,那麼另一張表的插入效率會很低 2 ibdata1 當你啟用了 innodb file per table,表被儲存在他們自己的表空間裡,但是共享表空間仍然...