ディスクがいっぱいになり、mysqldが起動しなくなりました。

ディスクがいっぱいになり、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

ベストアンサー1

.NETファイルには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には空き容量があるので、問題なく起動します。このような重要なデータベースをホストしている場合は、パーティション化スキームをもう一度考えてください。

すべてが順調に進んでいる場合は、アプリケーションがログにあまりにも多くの内容を書き込んではいけないため、ログの内容を調べることもできます。どこかでうまく機能するために何か問題があるかもしれません。

おすすめ記事