首页 > 解决方案 > docker update 后,Mysql 未在 MacOS 上的 docker 容器中启动

问题描述

我刚刚从 2.3 版升级到 MacOS 上的 Docker Desktop 2.4。突然,我的 mysql 容器都不会启动。日志显示这是原因:

Different lower_case_table_names settings for server ('2') and data dictionary ('0').
Data Dictionary initialization failed.
Aborting

数据库文件安装在我的主机上的一个卷中,以便它们在重新启动之间保持不变。

我终于明白为什么了。发帖是为了回答。

标签: mysqlmacosdockerdocker-compose

解决方案


使用最新的 docker,您可以禁用 gRPC Fuse 以进行文件共享。(gRPC Fuse 设置导致了这个问题,它与 0 的数据字典不兼容)

截图泊坞窗

这解决了问题...如果您满意,您可以在这里停下来,但是要使用新的文件系统,您可以:

  • 禁用此复选框
  • 启动容器
  • 转储数据库
  • 启用此复选框
  • 确保您的数据文件夹为空(因此 mysql 创建一个新的数据字典)
  • 导入转储的数据库

更新

从 2.5 版本开始,该设置已移至“实验功能”页面:

在此处输入图像描述


推荐阅读