Innodb
如何刪除 Mariadb 臨時文件
我有一個 /mariadb_tmp 目錄(在我的 mariadb-server.cnf 中指定),其中充滿了可追溯到去年 11 月的文件。
-rw-rw---- 1 mysql mysql 1032192 Nov 19 07:47 #sql899_5d5_0.ibd -rw-rw---- 1 mysql mysql 278528 Nov 19 09:30 #sql899_ab8f_0.ibd -rw-rw---- 1 mysql mysql 278528 Nov 19 09:30 #sql899_ad17_0.ibd -rw-rw---- 1 mysql mysql 638976 Nov 19 09:32 #sql899_baf3_0.ibd -rw-rw---- 1 mysql mysql 409600 Nov 19 09:32 #sql899_bbec_0.ibd -rw-rw---- 1 mysql mysql 262144 Nov 19 09:35 #sql899_c96a_0.ibd ... -rw-rw---- 1 mysql mysql 704512 Jan 16 10:08 #sql899_603c0c4_1.ibd -rw-rw---- 1 mysql mysql 540672 Jan 16 10:08 #sql899_603c123_0.ibd -rw-rw---- 1 mysql mysql 494927872 Jan 16 10:20 #sql899_603eb7b_0.ibd -rw-rw---- 1 mysql mysql 606208 Jan 16 10:27 #sql899_60470ff_1.ibd
Google搜尋“刪除舊的 mariadb 臨時文件”會導致以下建議:
drop table `#sql899_5d5_0`;
這會導致錯誤“未選擇數據庫”。當然,我不知道每個 tmp 文件來自哪個數據庫,所以我不知道這是否可行。
這些沒有 *.frm 文件,它們位於指定的 tmpdir 目錄中,而不是 datadir 中。
知道如何清理這些嗎?它們佔用了磁碟上的大量空間,我們真的無法擴展(出於非技術原因),我們也不應該將這些空間保留那麼長時間。
謝謝,
艾德格林伯格
在檢查它們未附加到活動程序後
ls -la /proc/$(pidof mysqld)/fd
, 或fuser {filename}
,可以使用 刪除它們rm
。從 MariaDB-10.4 開始,您應該不會再看到這些在磁碟上創建(MDEV-15584)。
我經常使用以下命令:
sudo find /tmp -type f -atime +10 -delete
或者
find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf