WordPressが突然「データベース接続確立エラー」を出すようになり、正常に動作しなくなった場合のMySQLのエラーの発見と対処をしてみました。


昨日、こんな感じのリプライが届いて

特に思い当たるフシがないなと思いながらブログを確認したところ…
 

データベース接続確立エラー

 
なんとも心臓に悪い言葉です。


phpmyadminなどでもログインできないのでmysqldが死んでるんではないのかと思い$ sudo service mysqld restartで再起動をしてみますがFAILEDします。
 
何かのエラーが原因で起動できないのだろうとMySQLのログファイルを見てみようと$ tail /var/log/mysqld.logをしたところ…
Screenshot 2014-07-08 0.51.40

[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を実行
Screenshot 2014-07-08 0.52.33
ずらずらと文字が出てきました。

最後に$ sudo service mysqld restartをしてデーモンを再起動してあげれば無事接続出来ました。