LoginSignup
5
5

More than 5 years have passed since last update.

Windows7でDocker上のMySQLにツールで接続してみた

Posted at

1. はじめに

MySQL5.5系から5.6系へアップデートした場合、
新規で追加された予約語が本当にエラーになるのかを検証するために
DockerでMySQL5.6系の環境を作成したときのメモです。

2. Windows7へDocker Toolboxをインストール

以下の記事を参考にさせていただきました。
「Docker Toolboxのインストール:Windows編」
https://qiita.com/maemori/items/52b1639fba4b1e68fccd

3. Docker-machineにproxyの設定

proxy環境下で作業しているため、proxyの設定を実施します。。
※proxy環境下でdockerのイメージをpullしたいため。

3.1 「Docker Quickstart Terminal」を起動

Dockerインストール時に作成された「Docker Quickstart Terminal」を起動します。
※私の環境では、起動時に「bash.exe」がないぞ!!と怒られました。
 「Git for Windows」をDockerインストール時ではなく、予めインストールしていたためなのか。
 その場合は、参照ボタンから{Gitインストールフォルダ}\bin\bash.exeを選択すれば問題ありません。
初回起動時はdefaultのDocker-machineを作成するのでそこそこ時間がかかります。
コーヒーでも飲みながら待ちましょう。
クジラさんが表示されたら次へ。

3.2 docker-machineに接続

$ docker-machine ssh default

のコマンドを実行し、docker-machineに入ります。

3.3 proxy設定を追記

こちらを参考にさせていただきました。
「Proxy環境下のDockerトラブルシューティング」
https://qiita.com/tora470/items/cd9335f5ce638e11bb97

$ sudo vi /var/lib/boot2docker/profile

のコマンドを実行し、profileファイルをオープンします。
そこにproxy設定を追記します。

export HTTP_PROXY=http://xxxxx.xx.xx:8080 
export HTTPS_PROXY=$HTTP_PROXY

3.4 Dockerの再起動

$ sudo /etc/init.d/docker restart

のコマンドを実行し、Dockerを再起動します。
再起動が完了したら、

$ exit

でDocker-machineから抜けておきましょう。
これでproxyの設定は完了です。

4. MySQLのコンテナを作成する

今回は「MySQL5.6.38」の環境を作成してみようと思います。

4.1 イメージを取得する

まずは以下のコマンドを実行して、コンテナを作成する元となるイメージを取得します。

$ docker pull mysql:5.6.38

4.2 コンテナを作成する

$ docker run --name mysql5.6.38 -p 12345:3306 -e MYSQL_USER=root -e MYSQL_ROOT_PASSWORD=pass -d mysql:5.6.38

今回は以下のようにしています。

コンテナ名称 MySQLの初期ユーザ MySQL初期ユーザのパスワード
mysql5.6.38 root pass

これでコンテナの作成は完了しました。

5. MySQLを起動してみる

MySQLのコンテナ作成が完了したので、ここからはコンテナに入って新規ユーザの作成と新規データベースの作成を行ってみたいと思います。

5.1 MySQLのコンテナに入る

以下のコマンドを実行し、コンテナに入ります。

$ docker exec -it mysql5.6.38 /bin/bash

5.2 MySQLにログイン

以下のコマンドを実行し、MySQLにログインします。

$ mysql -u root -p

※「Enter password:」でコンテナ作成時に設定したパスワードを入力します。

5.3 MySQLのユーザ作成

$ CREATE USER {ユーザ名}@{ホスト} IDENTIFIED BY '{パスワード}';

※ホストに'%'を指定すると全てのホストからの接続を許可することになります。
 ローカルマシンからのみの接続としたい場合、
 docker-machineのipアドレス「192.168.99.100」ではなく
 Win7のネットワークアダプタにあるVirtualBox Host-Only Ethernet Adapter #2の
 ipアドレス「192.168.99.1」にする必要があるようです。

5.4 MySQLのユーザに権限を付与

$ GRANT ALL PRIVILEGES ON *.* TO {ユーザ名}@{ホスト} WITH GRANT OPTION;

5.5 データベースの作成

$ CREATE DATABASE testDB default character set utf8;

以上でMySQLに新規ユーザとデータベースを作成することができました。

6. ツールからの接続

今回は有名な「A5:SQL Mk-2」というツールから接続を行ってみます。
以下のように設定して、

image.png

テスト接続ボタンをクリック!!

image.png

できた!!

7 おわりに

以上で今回の目的は達成できました。
Dockerは簡単に環境を作成できるので非常に便利ですね。

5
5
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
5
5