0
0

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 3 years have passed since last update.

【備忘】Docker Container の MySQL Server にアクセスする方法メモ

Last updated at Posted at 2020-08-18

Dockerコンテナ上に立てたMySQL Server にアクセスする際に意外と手間取ったのでメモ。

前提

OS: macOS 10.14.6
docker desktop: v2.3.0.3
Dockerイメージ: https://hub.docker.com/r/mysql/mysql-server

手順

コンテナ起動してアクセス。ポートマッピングを忘れない!

$ docker run --name=mysql-develop \
             -p 3306:3306 \
             -d \
             mysql/mysql-server
$ docker exec -it mysql-develop bash

設定ファイル(/etc/my.cnf)に以下を追記。
docker run で起動している場合、ホストのIPは127.10.0.1です。

my.cnf
bind-address = 127.10.0.1

ルートユーザでコンテナ内からサーバーにアクセス。
パスワードはコンテナ作成時に自動でせいせされるので、ログから確認する。

$ docker logs mysql-develop 2>&1 | grep GENERATED
[Entrypoint] GENERATED ROOT PASSWORD: XXXXXXXX
$ docker exec -it mysql-develop mysql -u root -p
Enter password: # XXXXXXXX

リモートアクセス用のユーザー作成、権限付与。

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
flush privileges;

コンテナから抜けて、ホストのクライアントからアクセス。

$ mysql -u remote_user -h '127.0.0.1' -p
Enter password: # mypass入力

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?