Dockerでlaravel環境を構築した際にMysqlに接続拒否された話
Dockerは起動済み
appコンテナ内でマイグレーションを行おうとすると下記のエラーが出る。
Illuminate\Database\QueryExceptionSQLSTATE[HY000] [1045]
Access denied for user 'test'@'172.19.0.2' (using password: YES)
(SQL: select count(*) as aggregate from `articles`)
結論
docker-compose down --volumes
docker-compose build
docker-compose up -d
このコマンドで
Access denied for user 'test'@'172.19.0.2' (using password: YES)
部分のエラーは解決
後半のエラー部分は
DB_PORT=3306
ports:
- '4306:3306'
上記のようにすることで解決。
元々は.envファイルの中のDB_PORTが4306になっていたので3306に修正。
docker-compose.ymlをいじったらコンテナの起動をし直すことを忘れずに。
考えられる原因
前半部分
docker-compose down --volumes
このコマンドはコンテナ・イメージ・ボリューム・ネットワーク・未定義コンテナを全てを一括消去するコマンドなので何か履歴が残っていたことが原因?
後半部分
DBに接続する際のport番号の認識が誤っていたことが原因。
.envのport番号とdocker-compose.ymlの右側のport番号がコンテナのport番号に対応(同じにする)
docker-compose.ymlの左側のport番号はホストのport番号(Mk-2やSequel Proに接続する際に入力するport番号はこっち)
Author And Source
この問題について(Dockerでlaravel環境を構築した際にMysqlに接続拒否された話), 我々は、より多くの情報をここで見つけました https://qiita.com/naokaki0228/items/67ea505f253dd95d8454著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .