DB接続エラーでDBを再起動


数式のブログを更新しようと思ったらなぜか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領域がないため、そこが原因だった模様。