数式のブログを更新しようと思ったらなぜかDB接続確立エラーになってしまった。
ダッシュボードも表示されない。
焦る。
久々のブログ更新だったのでAWSのコンソールへログインするのも思い出しつつという感じでした。
httpd/access_logを見てみると
[Fri Dec 02 XX:XX:XX.XXXXXX 2016] [:error] [pid XXXX] [client XXX.XXX.XXX.XXX:XXXXX] PHP Warning: mysqli_query(): MySQL server has gone away in /XX/wp-includes/wp-db.php on line 1868
gone awayってなんだろう。
調べてみると接続がcloseされてしまった状態の模様。
mysql.logを調べてみると
XXXXXX X:XX:XX [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. XXXXXX X:XX:XX [ERROR] Unknown/unsupported storage engine: InnoDB XXXXXX X:XX:XX [ERROR] Aborting XXXXXX X:XX:XX [Note] /XX/mysqld: Shutdown complete XXXXXX XX:XX:XX mysqld_safe mysqld from pid file /XX/mysqld.pid ended XXXXXX XX:XX:XX mysqld_safe Starting mysqld daemon with databases from /XX/mysql
MySQLが落ちていた。
service mysqld restart
で再起動したら無事に復旧した。良かった。
久々にトラブルになると普段の知識を試されるので勉強になりました。
-2018.1.27 更新-
上記以降、不定期にエラーが出ていて実は困っていました。
AWSのt2.microインスタンスを使用しているとメモリのSWAP領域がないため、そこが原因だった模様。