【发布时间】:2021-01-18 12:35:30
【问题描述】:
在我将 macos docker 应用程序更新到最新 (2.4.0.0) 版本后,当启用“使用 gRPC 进行文件共享”并且 /var/lib/mysql 时,我无法在容器中启动 mysql 服务/ 目录作为卷安装在我的本地计算机上。我在 mysql error.log 中得到了这个错误:
Different lower_case_table_names settings for server ('2') and data dictionary ('0').
幸运的是,当在 docker 应用程序设置/首选项中未选中“使用 gRPC 进行文件共享”选项时,我的持久化 /var/lib/mysql/ 卷不会在容器启动/构建和容器时造成任何问题工作正常。
但是如何在启用这个新功能的情况下正确地保存我的 mysql 数据呢?我认为它带来了一些性能优势(?)
here 所述的步骤不起作用。当我启动容器时启用了 gRPC 选项和一个空的 mysql 数据库,然后导入一个 sql 转储,然后一切正常,但是一旦我将 /var/lib/mysql/ 作为一个卷,我就会再次收到此错误。
我尝试仅隔离特定数据库 (/var/lib/mysql/mydb) 并将其挂载为卷而不是整个 mysql 目录。事实上,mysql 服务器正常启动,但现在我的数据库无法正常工作 - 查询不输出任何内容/在“mydb”数据库中找不到任何数据或表/列。
【问题讨论】:
标签: mysql macos docker docker-compose mysql-8.0