繁体   English   中英

在Docker容器上运行phinx命令时访问被拒绝

[英]Access denied when running phinx command on Docker container

我正在为我的PHP应用程序运行官方的MySQL Docker容器。 我正在使用Phinx进行迁移。 MySQL映像似乎运行良好,因为我可以使用MySQL Workbench以“ dbuser”(非root用户)身份连接到它。 我也可以与Docker exec连接。

当我尝试运行任何Phinx命令(例如状态)时,都会出现问题。 我越来越:

[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'@'%'

我的phinx.yml文件的development部分如下所示:

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

有任何想法吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM