dockerでmysqlが使えなくなる

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とは何か調べる必要がありそう。