LoginSignup
0
0

More than 1 year has passed since last update.

dockerコンテナからホストマシンのWindowsローカルのMySQLに接続に失敗したときの対処

Last updated at Posted at 2021-10-16

docker環境のLaravelプロジェクトでWindowsにインストールしたMysqlへ接続しようとしたらエラー。

PDOException: SQLSTATE[HY000] [1130] Host 'host.docker.internal' is not allowed to connect to this MySQL server

ホストマシンとdockerではそれぞれ別のネットワークを利用しているため、MySQL側がlocalhostから接続しか許可していないとdockerコンテナ側からはDB接続ができません。

MySQL側の問題となります。権限付与で解決できます。
「WITH GRANT OPTION」が重要。MySQLの権限変更とか滅多に行わないので都度ググるハメになりますね:sweat_smile:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'host.docker.internal' WITH GRANT OPTION;

そもそもdocker使ってるのにホストマシンでMySQL動かしてる時点で運用方法としておかしいんですが、こうして解決できるよ、と備忘録

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0