Доступ запрещен при запуске команды phinx в контейнере Docker

Я использую официальный контейнер MySQL Docker для моего приложения PHP. Я использую Phinx для миграции. Образ MySQL, кажется, работает нормально, так как я могу подключиться к нему как «dbuser» (без полномочий root), используя MySQL Workbench. Я также могу связаться с Docker Exec, а также.

Проблема возникает, когда я пытаюсь запустить любую команду Phinx, например, status. Я собираюсь:

[InvalidArgumentException]
There was a problem connecting to the database: SQLSTATE[HY000][1045] Access denied for user 'dbuser'@'localhost' (using password: YES)

Мои гранты в БД выглядят так:

GRANT USAGE ON *.* TO 'dbuser'@'%' IDENTIFIED BY PASSWORD '*8232A1298A49F710DBEE0B330C42EEC825D4190A'
GRANT ALL PRIVILEGES ON `dbuser`.* TO 'app_db'@'%'

мой development раздел файла phinx.yml выглядит так:

development:
adapter: mysql
host: localhost
name: app_db
user: dbuser
pass: '<no-hash-password>'
port: 3306
charset: utf8

Есть идеи?

0

Решение

Решено: у меня на хосте также работает MySQL (другой порт 3307), поэтому я отключил его. Теперь я могу бегать phinx внутри контейнера. Похоже, он пытался подключиться к хост-серверу через сокет Unix вместо порта 3306 на контейнере.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]