LoginSignup
0
0

More than 3 years have passed since last update.

Macのdocker上に構築したmysqlに、ホストマシンからlocalhost:3306でつながらないよ!

Posted at

docker上にmysqlイメージをデフォルト(localhost:3306)で構築したのに、ホストマシンのコンソールからつながらないよ!ぴえん!ってなっている人はホスト名を127.0.0.1で試してみてください。

Dockerfile
FROM mysql:8.0

ENV TZ=UTC \
  MYSQL_DATABASE=laravel_local \
  MYSQL_USER=phper \
  MYSQL_PASSWORD=secret \
  MYSQL_ROOT_PASSWORD=secret

COPY ./my.cnf /etc/my.cnf

$ mysql -u phper -psecret

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

こんな風に、何もしてないのにつながらないの!なんで!
それは、 -h オプションを省略しているからです。

つながるよ


$ mysql -u phper -psecret -h 127.0.0.1
mysql> 

つながらないよ


$ mysql -u phper -psecret
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)


-h オプションを抜くと、デフォルトでmysql clientはlocalhost:3306を見に行きます。
dockerの127.0.0.1とlocalhostは異なる扱いなので気をつけてね!

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