Mysql
由於磁碟已滿,mysqld 不再啟動
如何清理日誌或查找最大的文件並減少空間?還有我不明白 1.7T 連這個關鍵時刻都用不上。
mysqld 沒有執行,因為使用了 99%。
# df -h Filesystem Size Used Avail Use% Mounted on rootfs 20G 19G 279M 99% / /dev/root 20G 19G 279M 99% / devtmpfs 32G 268K 32G 1% /dev /dev/md3 1.8T 196M 1.7T 1% /home tmpfs 32G 0 32G 0% /dev/shm /dev/root 20G 19G 279M 99% /var/named/chroot/etc/named /dev/root 20G 19G 279M 99% /var/named/chroot/var/named /dev/root 20G 19G 279M 99% /var/named/chroot/etc/named.conf /dev/root 20G 19G 279M 99% /var/named/chroot/etc/named.rfc1912.zones /dev/root 20G 19G 279M 99% /var/named/chroot/etc/rndc.key /dev/root 20G 19G 279M 99% /var/named/chroot/usr/lib64/bind /dev/root 20G 19G 279M 99% /var/named/chroot/etc/named.iscdlv.key /dev/root 20G 19G 279M 99% /var/named/chroot/etc/named.root.key
MySQL 數據儲存在
/var/lib
. 中沒有更多空間/var
。MySQL 沒有啟動。其實很簡單。看看/var/log
並清理它。我會推薦類似的東西(刪除所有gz
文件/var/log
):$ find /var/log -iname "*.gz" -delete
當然,您可能想先檢查要刪除的內容:
$ find /var/log -iname "*.gz"
1.7TB 分配給
/home
. 然而/var
不是/home
。所以/home
沒有被使用。也很簡單。當您設置系統時,您顯然應該
/var
在更大的分區上分開。現在,我能遇到的最佳解決方案是將 MySQL 數據目錄移動到更大的分區(/home
):$ mv /var/lib/mysql /home $ ln -s /home/mysql /var/lib/mysql
如果您不想使用連結,則應重新配置 MySQL 以使用儲存在
/home
. 編輯/etc/mysql/my.cnf
並更改此:datadir = /var/lib/mysql
對此:
datadir = /home/mysql
現在 MySQL 有可用空間,它應該可以毫無問題地啟動。但是,如果您託管如此重要的數據庫,您應該重新考慮您的分區方案。
您可能還想調查日誌的內容,因為如果一切順利,應用程序不應該向它們寫入太多內容。有些東西可能在某處難以正常工作。