MySQL が起動しない原因がディスクフルだった

2016/10/28

MySQL が起動しなくて、なんでだなんでだと調べたところサーバー容量が足りなかった、ということがありました。MySQL 起動しないのがディスクフルのせいだとは全然気づかなくて、しばらく journalctl -xn  してエラーログみたり色々してました。

珍しいケースだとは思いますが、MySQL 起動しなくて困った時は念のためサーバー空き容量を調べてみるといい、と勉強になりました。

未来の自分のために簡単に一応メモ。

CentOS7 でのサービスの起動・終了・再起動・状態

systemctl start 【サービス名】
systemctl stop 【サービス名】
systemctl restart 【サービス名】
systemctl status 【サービス名】

MySQL の状態を見たいなら次のようなかんじ。

systemctl status mysql

起動しない場合は、journalctl -xn  でエラーログを見る。

参考)CentOS7でのサービス(デーモン)の起動・停止方法 | server-memo.net

サーバー空き容量を調べる

$ df -h

Filesystem Size Used Avail Use% マウント位置
などが表示される。

サーバーのディスク容量アップ

今回はさくらのクラウドだったので、仮想サーバと仮想ディスク – 「さくらのクラウド入門」(1) – さくらのナレッジ を参考にディスク容量をアップ。

MySQL が壊れてる

さらに MySQL のテーブルが壊れてしまってたので、phpMyAdmin から

  • 「オーバーヘッド」のあるところは「テーブルの最適化」
  • 「使用中」になったままで構造が壊れてたところは「テーブルの修復」

をしました。これでなんとか復活。

参考)MySQL のテーブルを修復 – STAFF_01 [KYS-LAB]