1
最近我已經從一臺服務器複製MySQL DB到另一臺服務器。意思是雖然我已經清除了Master DB的許多行數。所以在一段時間後複製正確完成。我驗證了兩個數據庫中的數據計數,它是一樣的。MySQL tableName.Ibd文件大小很大
之後,我只使用下面的查詢來驗證從站中的DB大小。
SELECT table_schema "Schema_Name", Round(Sum(data_length + index_length)/1024/1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema;
通過此查詢,我得到了數據庫的大小。它是60 GB。
我的問題
我有一個名爲tableName.ibd內 「ProgramData->數據 - >數據庫名」 文件夾中的文件。該文件佔用500GB的內存。
所以我的問題是,爲什麼這個文件佔用這麼多的大小,雖然我的數據庫大小本身只有60GB。
此外我還驗證了程序數據中的Ibdata文件大小。它只有1GB。
請幫我解決這個問題。如何清除這個文件。什麼會對清除這個影響。
感謝您的回答。我不在這一行下「如果你刪除了表中的大部分記錄,那麼大部分記錄都是空的是正常的。」 –
還有一個問題 - 我沒有在主數據庫中看到這個tablename.ibd文件。我只看到奴隸的一個。 –
有兩個原因:1. innodb_file_per_table關閉 - 表共享數據文件; 2.該表不是InnoDB - 在這種情況下,文件名將會不同; – Vatev