WordPressが突然「データベース接続確立エラー」を出すようになり、正常に動作しなくなった場合のMySQLのエラーの発見と対処をしてみました。
昨日、こんな感じのリプライが届いて
@toriimiyukki ブログ落ちてる http://t.co/pdc8wJQsZv
— ドメインコレクター (@kir1ca) 2014, 7月 7
特に思い当たるフシがないなと思いながらブログを確認したところ…
データベース接続確立エラー
なんとも心臓に悪い言葉です。
phpmyadminなどでもログインできないのでmysqldが死んでるんではないのかと思い$ sudo service mysqld restart
で再起動をしてみますがFAILEDします。
何かのエラーが原因で起動できないのだろうとMySQLのログファイルを見てみようと$ tail /var/log/mysqld.log
をしたところ…
[ERROR] /usr/libexec/mysqld: Table './~/wp_options' is marked as crashed and should be repaired
上のようなエラーがズラリと並んでいました。要するにwp_optionsテーブルがクラッシュしたから直してねってことですね。クラッシュした原因としてディスク容量の不足かな?と思ったのですがそんなことはなさそうです。
MySQLには壊れたテーブルを自動で修正してくれるコマンドがあるので$ sudo mysqlcheck -u root -p wordpress_main --auto-repair
を実行
ずらずらと文字が出てきました。
最後に$ sudo service mysqld restart
をしてデーモンを再起動してあげれば無事接続出来ました。