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>