macOS — Dockerize отказано в подключении к службе MySQL, сбой при использовании

#mysql #macos #docker #docker-compose #docker-desktop

#mysql #macos #docker #docker-compose #docker-рабочий стол

Вопрос:

Использование mysql(v8.0.21) image с mac docker-desktop (v4.2.0, Docker-Engine v20.10.10)

Как только обслуживание:

  • точки входа готовы
  • Инициализация InnoDB выполнена
  • готов к подключению

Но как только вы пытаетесь запустить прямой скрипт (запрос), он выходит из строя, отказывается подключаться (также из phpmyadmin) и перезапускается снова.

  1. журнал терминала
  2. отказано в подключении для phpMyAdmin

В журналах мы видим ошибку:

[ОШИБКА] [MY-011947] [InnoDB] Не удается открыть ‘/ var / lib / mysql / ib_buffer_pool’ для чтения: нет такого файла или каталога

Ошибка, которую мы можем увидеть в журнале, не является проблемой, поскольку она уже исправлена и обновлена InnoDB, вот ссылка ниже:

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


docker-compose Примечание: file мы в значительной степени уверены, что ошибки нет, так как same отлично работает как для Windows, так и для ubuntu, но проблема только для macOS.

Комментарии:

1. Это звучит как то, что вы должны опубликовать в соответствующем баг-трекере

2. Добро пожаловать в Stack Overflow. На самом деле это не ответ, но, возможно, это избавит вас от проблем: если вы не можете решить эту проблему, подумайте о переходе на контейнер MariaDB, который в большинстве ситуаций должен работать как замена MySQL.

Ответ №1:

Спасибо @NicoHaase и @Patrick за ответы на вопросы и предложения.

Найдена причина отказа в подключении и сбоя, отправив ответ, чтобы он мог быть полезен другим.

На самом деле это было связано с docker-desktop macOS client, по умолчанию в качестве ресурса было выделено 2 ГБ памяти, и для нашего сценария требовалось больше.

Мы просто выделяем больше памяти в соответствии с нашими требованиями, и она только что начала работать отлично.

Для выделения ресурсов:

  • откройте docker -настройки рабочего стола
  • ресурсы> дополнительно docker -распределение ресурсов рабочего стола