docker を使っていたが,突然,mysqlが使えなくなった。
docker-compose ps というコマンドを使うと,mysqlのstatus がexitedとなっている。
docker logs コンテナ名
コマンドでlogを調べると
Ignoring the redo log due to missing MLOG_CHEKPOINT between the checkpoint xxxxxxxxx and the end xxxxxxxxxxxx.
というエラーがあった。調べてみると,
ib_logfileX を削除するとよい,ということで,その通りやってみた。いくつかこのタイプのファイルがあったので,最近の2つのファイルを削除。そのあとdockerを起動すると,無事にmysqlに接続できた。
数日後、再び違うプロジェクトで、パソコンアップデート後に同じ現象。今回のエラー内容は
[ERROR] InnoDB: Only one log file found.
色々調べたが、再びib_logfileを1つ削除する。再びdockerを起動すると接続できた。ib_logfileとは何か調べる必要がありそう。