2017-02-12 16 views
0

私のPHPアプリケーション用の正式なMySQL Dockerコンテナを実行しています。私は移行のためにPhinxを使用しています。 MySQLのイメージは、MySQL Workbenchを使用して 'dbuser'(非root)として接続できるので、うまく動作しているようです。私はDocker execにも接続できます。Dockerコンテナでphinxコマンドを実行しているときにアクセスが拒否されました

ステータスなどのPhinxコマンドを実行しようとすると問題が発生します。私は取得しています:

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

私の助成金をのようなDBの外観上:

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 

任意のアイデア?

+0

「8232A1298A49F710DBEE0B330C42EEC825D4190A」の代わりに「* 8232A1298A49F710DBEE0B330C42EEC825D4190A」と入力したのはなぜですか?なぜアスタリスクが追加されたのですか? –

+0

それは文字どおり表示されたものです – maclonghorn

+0

誰もがアイデアを持っていますか? – maclonghorn

答えて

0

解決済み:ホスト上でMySQLを実行していました(別のポート3307)ので、シャットダウンしました。今すぐコンテナ内でphinxを実行できるようになりました。コンテナのポート3306ではなく、UNIXソケット経由でホストサーバーに接続しようとしていたようです。

関連する問題