macOS - Dockerize MySQL 服务连接被拒绝,使用时崩溃

Posted

技术标签:

【中文标题】macOS - Dockerize MySQL 服务连接被拒绝,使用时崩溃【英文标题】:macOS - Dockerize MySQL service connection refused, crashes upon use 【发布时间】:2022-01-15 04:07:02 【问题描述】:

使用 mysql(v8.0.21) imagema​​c docker-desktop (v4.2.0, Docker-Engine v20.10.10)

尽快服务:

入口点准备就绪 innoDB 初始化完成 准备连接

但是一旦尝试运行直接脚本(查询)它就会崩溃,拒绝连接(也来自 phpmyadmin)并再次重新启动。

    terminal log connection refused for phpMyAdmin

在日志中我们可以看到一个错误:

[错误] [MY-011947] [InnoDB] 无法打开“/var/lib/mysql/ib_buffer_pool”进行读取:没有这样的文件或目录

我们能够在日志中看到的错误不是问题,因为它已经由 InnoDB 修复和更新,以下是参考:

https://jira.mariadb.org/browse/MDEV-11840


注意: docker-compose 文件我们非常确定,没有错误,因为同样适用于 windows 以及 ubuntu,但问题只是适用于 macOS。

【问题讨论】:

这听起来像是您应该在相应的错误跟踪器上发布的内容 欢迎来到 Stack Overflow。这不是一个真正的答案,但也许它会为您省去麻烦:如果您无法解决这个问题,请考虑切换到 MariaDB 容器,它在大多数情况下应该可以很好地替代 MySQL。跨度> 【参考方案1】:

感谢 @NicoHaase@Patrick 回答问题和建议。

找到连接被拒绝和崩溃的原因,发布答案,以便它可能对其他人有帮助。

这实际上是由于 docker-desktop macOS 客户端默认分配了 2GB 内存作为资源,而对于我们的场景,它需要的还不止这些。

我们只是根据我们的要求分配更多的内存,它刚刚开始工作得很好。

对于资源分配:

打开 docker-desktop 首选项 资源>高级

【讨论】:

以上是关于macOS - Dockerize MySQL 服务连接被拒绝,使用时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

使用 MySQL 容器对 Django 应用程序进行 Dockerize

Mac版本LOL国际服,MacOS系统也能玩LOL

Dockerize 框架测试“执行失败”

Dockerize Spring Boot mongo

dockerize 容器工具集基本使用

Dockerize Apache HAWQ