0

我正在为我的 PHP 应用程序运行官方的 MySQL Docker 容器。我正在使用 Phinx 进行迁移。MySQL 映像似乎工作正常,因为我可以使用 MySQL Workbench 作为“dbuser”(非 root)连接到它。我也可以连接 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

有任何想法吗?

4

1 回答 1

0

解决了它:我也在主机上运行了 MySQL(不同的端口 3307),所以我关闭了它。我现在可以phinx在容器内运行。看起来它可能一直在尝试通过 unix 套接字而不是容器上的端口 3306 连接到主机服务器。

于 2017-02-18T17:05:14.530 回答