5
1

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 1 year has passed since last update.

Dockerで起動したMySQLコンテナにSequel Aceなどで接続する方法

Last updated at Posted at 2021-03-10

こんにちは、JeffTechです。

この記事で実現できること

  • Dockerで起動したMySQLコンテナにSequel Aceで接続する方法
  • Dcokerで起動したMySQLコンテナにターミナルから直接接続する方法
  • Dockerで起動したMySQLコンテナに入って接続する方法

説明

今回はDockerでMySQLを導入した際に、Sequel AceでMySQLに接続しようとしたらローカルのMySQLに繋がってしまったので、どうすればDockerで使っているMySQLにアクセスできるのかを説明していきます。

開発環境

  • Docker
  • macOS Catalina
  • MySQL

実装の流れ

  • docker-compose.ymlの編集
  • Dockerで起動したMySQLコンテナにSequel Aceで接続する方法
  • Dcokerで起動したMySQLコンテナにターミナルから直接接続する方法
  • Dockerで起動したMySQLコンテナに入って接続する方法

実装

docker-compose.ymlの編集

docker-compose.yml
version: "3"
services:
  db:
      image: mysql:5.7
      container_name: db [MySQLのコンテナ名]
      environment:
        MYSQL_DATABASE: database [データベース名]
        MYSQL_ROOT_PASSWORD: root [ルートユーザーのパスワード]
        MYSQL_USER: user [ユーザー名]
        MYSQL_PASSWORD: password [パスワード]
      ports:
      - 4306:3306
      volumes:
      - mysql-data:/var/lib/mysql

ports:4306:3306になっています。これは、DockerのMySQLコンテナの3306番とローカルのポート番号4306番を繋ぐようにに設定しています。
元々私の場合ports:- "3306:3306"となっていたため、ローカルのMySQLと競合してしまい、接続できませんでした。

Dockerで起動したMySQLコンテナにSequel Aceで接続する方法

TCP/IP
Name: docker-mysql [好きな名前で大丈夫です]
Host: 127.0.0.1
Username: user [docker-compose.ymlで設定したユーザー名]
Password: password [docker-compose.ymlで設定したパスワード]
Database: 
Port: 4306

Dcokerで起動したMySQLコンテナにターミナルから直接接続する方法

まず、MySQLコンテナに入ってください。

$ docker-compose exec db bash
// dbはdocker-compose.ymlで設定したコンテナ名です。

root@1abc11111d1e:/#という感じになっていればコンテナ内に入れていますので、下記のコマンドでMySQLに接続しましょう。

$ mysql -u user -p
// userはdocker-compose.ymlで設定したユーザー名です。

パスワード入力を求められるので、docker-compose.ymlで設定したパスワードを入力してください。
mysql> となっていれば成功です。

Dockerで起動したMySQLコンテナに入って接続する方法

$ mysql -u user -p -h 127.0.0.1 -P 4306
// userはdocker-compose.ymlで設定したユーザー名です。
// 127.0.0.1は皆さん共通で、localhostとせずIPアドレスを直で入力します。
// ポート番号を指定するためには`-P`とpを大文字にしてください。
// 4306はdocker-compose.ymlで設定したポート番号です。

最後に

少しでも役に立った!という時は、いいねをポチッとして
フォローしてくださると嬉しいです、、、笑

役に立たなかった時は、怒らないでコメント頂けますと幸いです笑

Twitterもやってますので、よかったら見てみてくださいね!
https://twitter.com/jefftechsaku

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?