メシのタネ

めしのたねになるIT情報配信サイト


mysqlが起動しないのは容量がいっぱいだからかも。

, , , ,

  1. OS
  2. CentOS
  3. mysqlが起動しないのは容量がいっぱいだからかも。

kimigasukidatosakebitai
sakuraからVENOMと呼ばれる脆弱性への対処が終わったので再起動してねってメールが来てたので、対象サーバーを再起動しようと思い、WordPressが動いてるサーバのアップデートしようと思ったらデータベース確立エラーが出てました。えーまじでーと思い、とりあえずmysqlログインしようと思ったら詳しく見てないけどsockって文字が書いてあったのでmysql.sock消してから再起動をかけました。かけたらmysqlが起動しなかったので超焦りました。

原因究明

とりあえず、MySQL Daemon failed to start.って起動してもこれが出るので、ログを見ることにしました。/var/log/mysqld.logを見ると、notesのエラーが続いて、最後にSort aborted: Error writing file みたいなエラーが出てて最後に(Errcode: 28)が出てました。ぐぐるとこれはperror 28ってやるとOSエラーであれば正体がわかるとの事なので、それをやった結果OS error code 28: No space left on deviceデバイスにスペースは残ってねーよってエラーが出ました。同じようなサイトを別のVPSでも動かしてるのになんでこいつだけって思ったんですけど、それを考えるより前に進まないとダメだったのでとりあえずこのマシンがどうなってるかを確認しました。

容量がえらいことに

dfコマンドを叩くと、ハードディスクの容量がどれだけ残ってるか知ることができます。

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda3 204105516 7186852 186550616 4% /
tmpfs 961116 0 961116 0% /dev/shm
/dev/vda1 247919 75025 160094 32% /boot

2年稼働してるサーバーでも同じように使っててこんなもんなんだったんですけど、そのマシンは、この/dev/vda3のuseが100%でした。とりあえず原因が何かわかったので今度はどのディレクトリに巨大ファイルが入ってるんだと思ってduコマンドを叩きました。ちなみに、du -sh /* | sortってやると重たいフォルダ順に出てきます。が、これをやった結果、30分たっても反応がないので普通にdu /でやったらvarの中身を見てる最中に止まる感じだったので、こいつが犯人っぽいなと決めつけてvarをlsしていきました。したらlogの中に巨大ファイルがあったので、こいつを削除したら正常に戻ったのでmysqlとapache立ち上げて、元に戻しました。焦りました。logrotateが途中で起動した時に動いてなかったのが原因でした。僕の場合はcronが止まってたからです。割と初歩的なミスだったようです。とりあえずcronをchkconfig cron onってやって起動実行のリストに入れておきました。

あちなみに、ls -lhってやるとファイルサイズが、kとかmとかになるので便利です。

mysqlが起動しないと思ってやったこと


tail -n 100 /var/log/mysqld.log #logを100行見る
df #残り容量を見る
du -sh /* | sort #フォルダの合計容量を全て見る
#応答が帰ってこない場合は目星つけたフォルダをひたすら
ls -lh

と、やったことを書いてみると、とっても短いんですけど、或る日突然mysqlが起動しなかったら、試してみてください。


“mysqlが起動しないのは容量がいっぱいだからかも。” への1件のコメント

  1. […] これで検索してみると mysqlが起動しないのは容量がいっぱいだからかも。 にも書かれていました […]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

PHP
魔王と行く! / Interface / Polymorphism / Ontology 深淵ガイドNew!!
Laravel
Laravel 12、「コード 1 行も書き換えず未来へ」──静かな革命の手順書New!!
Laravel
LaravelのMiddlewareって意味あるの?仕組み・使いどころ・やらかしまで整理してみたNew!!
Laravel
ServiceProviderって何してるの?DIの背後で動いてるやつの正体New!!
Laravel
LaravelのサービスコンテナとDI、「書いてるだけで動く」コードの正体
Laravel
Laravelのアーキテクチャ、実は誰もわかってない説