遷移 datadir 後,如何確認空間真正釋放?本文演示 du/df/ls -l 組合拳揭露「符號連結」導致的空間統計假象,教您避開統計陷阱。
# 檢查兩檔案系統空間
df /usr /var
Filesystem 1k-blocks Used Avail Capacity Mounted on
/dev/wd0s3e 396895 292126 73018 80% /usr
/dev/wd0s3f 1189359 1111924 162287 15% /var
cd /usr/local/var
du -s . # 133426 (約 130MB)
df /usr/local/var
Filesystem 1k-blocks Used Avail Capacity Mounted on
/dev/wd0s3f 1189359 1111924 162287 15% /var <-- 竟然是 /var!
ls -l /usr/local
...
lrwxrwxrwx 1 root wheel 10 Dec 11 23:33 var -> /var/mysql
...
/usr/local/var 早已是指向 /var/mysql 的**符號連結**,資料實際早就在 /var 分區。移動操作其實早已完成,空間早已釋放。
ls -l DATADIR 確認是實體目錄而非連結。df DATADIR 確認掛載點為目標分區。du -s DATADIR 確認佔用大小符合預期。mysqladmin variables | grep datadir 確認 MySQL 讀取路徑正確。