ホストOS から Docker の MySQLコンテナに接続

2020/08/17

ホストOS から Docker の MySQLコンテナにログインする場合、以下の方法があります。

  • MySQL コンテナに bash でログイン
  • mysql コマンドでログイン

MySQL コンテナにログイン

他のコンテナ同様、docker-compose で MySQL コンテナに直接ログインします。


$ docker-compose exec コンテナ名 bash

コンテナ名が mysql だった場合


$ docker-compose exec mysql bash

Docker コンテナにログインしたら、MySQL にログインします。


# mysql -u root -p

この方法は、docker-compose が動作するパスで実行する必要があり、MySQL コンテナ内でも mysql でログインします。

mysql コマンドでログイン

次にホスト OS から mysql コマンドでログインしてみます。

つまりは、Docker の MySQL を外部ホストでログインする方法です。


$ mysql -u root -p -h localhost -P 3306 --protocol=tcp

mysql で localhost を指定すると自分の PC を指すため、--protocol で TCP ソケットを指定する必要があります。