41
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MySQL dockerコンテナにMySQLWorkbenchで接続する方法

Last updated at Posted at 2017-11-05

まずコマンドラインでの接続方法おさらい

Dockerのコンテナをcliで操作していれば、調べずともたどり着くやり方かと思います。

コンテナへSSH接続 〜 mysqlコンテナ内でmysqlコマンド実行

SSH接続

$ docker exec -it $MYSQL_CONTAINER_NAME bash

でコンテナ内部に入り、あとは作成したMySQLユーザでmysqlコマンドを打てばよい。

$ mysql -uroot -p db_name

基本的にこれで対応できないことは無いかと思いますが、調査&デバッグやデータ調整が頻繁になってくるとMySQLWorkbenchでやりたくなってきます。

MySQLWorkbenchからコンテナDBへの接続方法

mysqlイメージから単体でコンテナを起動した場合(Docker for macなど)

コンテナへ直接接続する

MySQL Connectionsに設定を追加

Connection Method: Standard を選択
Hostname : 127.0.0.1
Port : 3306docker run時の特に指定してなければ)
Username : root
Password : docker run時の指定した環境変数

docker machineを使っている場合

VMを通してSSHトンネル接続させる

MySQL ConnectionsにSSH設定を追加

  • Connection Method: Standard TCP/IP over SSH を選択

  • SSH Hostname:

     $ docker-machine ip $DOCKER_MACHINE_NAME
    

    ↑で出力されるIPを入力

  • SSH Username: docker

  • SSH Password: tcuser

    上記を入力(docker machineにデフォルトで作られるユーザ)

MySQL設定を追加

docker composeで構成していれば、docker-compose.ymlで設定した値(MYSQL_DATABASEなど)

を以下パラメータに設定

  • MySQL Hostname
  • MySQL Server Port:
  • Username:
  • Password:
  • Default Schema:

MySQLコンテナ単体であれば、[mysqlイメージから単体でのコンテナ起動の場合]と同様。

設定完了後

「Test connection」を押してsucceedが出れば成功。

41
40
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
41
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?