MySQL | MySQL のインストール

現在 MySQL には、MySQL Enterprise Edition と MySQL Community Server の 2 つのエディションがある。MySQL Enterprise は商用版の MySQL で、公式サポートや管理ツールが含まれている。一方、MySQL Community Server は無料で利用できるデータベースである。ここでは、MySQL Community Server を Docker でインストールする方法について説明する。

Docker のバージョン確認

まず Docker がインストールされているか確認する。

docker --version

実行して次のようにバージョンが表示されれば、Docker は正しくインストールされている。

 % docker --version
Docker version 20.10.8, build 3967b7d

MySQL Docker イメージのダウンロード

次のコマンドを実行して MySQL Docker イメージをダウンロードする。

docker pull mysql

実行すると、次のように出力される。

% docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
07aded7c29c6: Pull complete
f68b8cbd22de: Pull complete
30c1754a28c4: Pull complete
1b7cb4d6fe05: Pull complete
79a41dc56b9a: Pull complete
00a75e3842fb: Pull complete
b36a6919c217: Pull complete
635b0b84d686: Pull complete
6d24c7242d02: Pull complete
5be6c5edf16f: Pull complete
cb35eac1242c: Pull complete
a573d4e1c407: Pull complete
Digest: sha256:4fcf5df6c46c80db19675a5c067e737c1bc8b0e78e94e816a778ae2c6577213d
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest

上記のようにバージョンを指定せずに実行すると、最新バージョンの MySQL Docker イメージがダウンロードされる。特定のバージョンをインストールしたい場合は、次のようにバージョンを指定する。

docker pull mysql:{version}

MySQL Docker コンテナの実行

次のコマンドを実行してコンテナを起動する。

docker run --name mysql -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:latest

ここでは、Docker コンテナ名を --name オプションで mysql に指定している。別の名前を指定してもかまわない。

% docker run --name mysql -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:latest
79c4333a40db5621a9cb7051fac2a8702c09d0f2706223cf65a5c448b08cb061

MySQL Docker コンテナの実行確認

次のコマンドを実行して、コンテナが起動しているか確認する。

docker ps

起動していれば、次のように MySQL が実行中であることを確認できる。

% docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
79c4333a40db   mysql:latest   "docker-entrypoint.s..."   40 seconds ago   Up 39 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql

MySQL Docker コンテナの開始・停止・再起動

MySQL Docker コンテナを停止する。

$ docker stop mysql

MySQL Docker コンテナを開始する。

$ docker start mysql

MySQL Docker コンテナを再起動する。

$ docker restart mysql

MySQL Docker コンテナへの接続

docker exec -it mysql bash
% docker exec -it mysql bash
root@79c4333a40db:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql> ^C
mysql>