🍎

Docker Desktop for Mac 2.4にアップデートしたらMySQLが立ち上がらなくなった問題

2020/10/23に公開

今回の環境

  • Docker Desktop for Mac 2.4
  • Docker Compose 1.27.4
  • MySQL 8.1.8

原因

まずはDockerのエラーメッセージを確認

container exits(0) - Different lower_case_table_names settings for server ('2') and data dictionary ('0')

どうやらDocker for Macのコンテナの通信周りのアップデートに原因が
https://github.com/laradock/laradock/issues/2732

解決策

上記のissueに解決策があったので実施
https://stackoverflow.com/questions/64146845/mysql-not-starting-in-a-docker-container-on-macos-after-docker-update

  1. 以下のチェックボックスを解除
    general
  2. コンテナを立ち上げる
  3. mysqlのダンプファイルを作成
    # docker-compose exec mysql /bin/bash
    # mysqldump DB名 > /docker-entrypoint-initdb.d/mysqldump.sql
    
  4. チェックボックスをON
  5. mysqlのデータディレクトリを空にする
  6. ダンプファイルをリストア
    # docker-compose exec mysql /bin/bash
    # mysql DB名 < /docker-entrypoint-initdb.d/mysqldump.sql
    

これで無事起動しました!
いつも無意識にアップデートしてたけどこういう罠があるとは・・・アプデ内容はしっかりチェックしないといかんねえ

Discussion