| サンプル集 |
|
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■WordPress ■PowerShell ■Python ■Flutter ■other |
| Linuxコマンド |
| 用語集 |
| debian メモ |
| apache2 メモ |
| MySQL メモ |
| Oracle メモ |
| HOME |
Docker上でMySQLの環境を作ってみます。
◆環境| OS | Windows 10 Home 22H2 64bit |
|---|---|
| Docker | 27.4.0 build bde2b89 |
MySQLの環境構築
docker-composeの設定ファイルを作成します。
| docker-compose.yml | ||
|
MySQLの設定ファイルを作成します。
| my.cnf | ||
|
docker-composeでコンテナを起動します。
> docker-compose up -d
unable to get image 'mysql:8.0.41': error during connect: Get "http:/
/%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.47/images/mysql:8.0.4
1/json": open //./pipe/dockerDesktopLinuxEngine: The system cannot
find the file specified.
unable to get image 'mysql:8.0.41': error during connect: Get "http:/
/%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.47/images/mysql:8.0.4
1/json": open //./pipe/dockerDesktopLinuxEngine: The system cannot
find the file specified.
Docker Desktopが起動していなかったので起動して再度コマンドを実行しました。
> docker-compose up -d
[+] Running 1/12
[+] Running 1/12⠀⠀⠀⠀⠀] Pulling 4.0s
[+] Running 2/12⠀⠀⠀⠀⠀] Pulling 4.1s
- mysql [⣿⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀] Pulling 4.2s
[+] Running 2/121d Download complete 0.6s
- mysql [⣿⠀⣿⠀⠀⠀⠀⠀⣿⠀⠀] Pulling 4.3s
[+] Running 4/121d Download complete 0.6s
- mysql [⣿⠀⣿⠀⠀⣿⠀⠀⣿⠀⠀] Pulling 4.4s
✔ a10aecbb3a1d Download complete 0.6s
- 3d3196bdb946 Downloading [===================================
===============>] ... 1.0s
:
略
:
✔ 2331a4e90fe2 Download complete 3.7s
[+] Running 1/0
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 2/2_default Created 0.0s
✔ Network src_default Created 0.0s
- Container mysql-container-8.0.41 Starting 0.7s
✔ Container mysql-container-8.0.41 Started 0.7s
[+] Running 1/12
[+] Running 1/12⠀⠀⠀⠀⠀] Pulling 4.0s
[+] Running 2/12⠀⠀⠀⠀⠀] Pulling 4.1s
- mysql [⣿⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀] Pulling 4.2s
[+] Running 2/121d Download complete 0.6s
- mysql [⣿⠀⣿⠀⠀⠀⠀⠀⣿⠀⠀] Pulling 4.3s
[+] Running 4/121d Download complete 0.6s
- mysql [⣿⠀⣿⠀⠀⣿⠀⠀⣿⠀⠀] Pulling 4.4s
✔ a10aecbb3a1d Download complete 0.6s
- 3d3196bdb946 Downloading [===================================
===============>] ... 1.0s:
略
:
✔ 2331a4e90fe2 Download complete 3.7s
[+] Running 1/0
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 1/2_default Created 0.0s
[+] Running 2/2_default Created 0.0s
✔ Network src_default Created 0.0s
- Container mysql-container-8.0.41 Starting 0.7s
✔ Container mysql-container-8.0.41 Started 0.7s
イメージ一覧を確認します。
> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.41 a08db11d440f 2 weeks ago 1.04GB
ubuntu 20.04 8e5c4f0285ec 4 months ago 109MB
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.41 a08db11d440f 2 weeks ago 1.04GB
ubuntu 20.04 8e5c4f0285ec 4 months ago 109MB
実行中のコンテナを確認します。
> docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
5a8a06322e30 mysql:8.0.41 "docker-entrypoint.s…" 8 minutes ago
Up 8 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-contain
er-8.0.41
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES5a8a06322e30 mysql:8.0.41 "docker-entrypoint.s…" 8 minutes ago
Up 8 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-contain
er-8.0.41コンテナにログインします。
> docker exec -it mysql-container-8.0.41 bash
bash-5.1#
bash-5.1#
MySQLのバージョンを確認します。
bash-5.1# mysql --version
mysql: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf
' is ignored.
mysql Ver 8.0.41 for Linux on x86_64 (MySQL Community Server - GPL)
mysql: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf
' is ignored.mysql Ver 8.0.41 for Linux on x86_64 (MySQL Community Server - GPL)
警告が出ました。my.cnfが無視されたようです。
my.cnfを右クリックしプロパティを開き読み取り専用に変更します。

必要あるかどうか分かりませんがdocker-compose buildとupを実行しました。
> docker-compose build
> docker-compose up -d
[+] Running 1/0
✔ Container mysql-container-8.0.41 Running 0.0s
> docker-compose up -d
[+] Running 1/0
✔ Container mysql-container-8.0.41 Running 0.0s
再度コンテナにログインします。
> docker exec -it mysql-container-8.0.41 bash
bash-5.1# mysql --version
mysql Ver 8.0.41 for Linux on x86_64 (MySQL Community Server - GPL)
bash-5.1# mysql --version
mysql Ver 8.0.41 for Linux on x86_64 (MySQL Community Server - GPL)
MySQLにログインします。
bash-5.1# 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.41 MySQL Community Server - GPL
Copyright (c) 2000, 2025, 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 s
tatement.
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.41 MySQL Community Server - GPL
Copyright (c) 2000, 2025, 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 s
tatement.データベースの一覧を確認します。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| MyDB |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
+--------------------+
| Database |
+--------------------+
| MyDB |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
データベースをMyDBへ切り替えます。
mysql> use MyDB
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| MyDB |
+------------+
1 row in set (0.00 sec)
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| MyDB |
+------------+
1 row in set (0.00 sec)
文字コードを確認します。
mysql> show variables like '%char%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
照合順序を確認します。
mysql> show variables like '%collation%';
+-------------------------------+--------------------+
| Variable_name | Value |
+-------------------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_0900_ai_ci |
| collation_server | utf8mb4_0900_ai_ci |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
+-------------------------------+--------------------+
4 rows in set (0.00 sec)
+-------------------------------+--------------------+
| Variable_name | Value |
+-------------------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_0900_ai_ci |
| collation_server | utf8mb4_0900_ai_ci |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
+-------------------------------+--------------------+
4 rows in set (0.00 sec)
外部ツールから接続
A5: SQL Mk-2というアプリをダウンロードし作業しているPCにインストールします。
起動すし「データベースの追加と削除」画面で「追加」を押下します。

「MySQL/MariaDB (直接接続)」を押下します。

データベースの情報を入力し「テスト接続」を押下します。

接続に成功しました。「OK」を押下します。

「OK」を押下します。

左のデータベースを開いていくとMyDBがあることを確認できました。

正常に動作しているようです。
コンテナの停止
コンテナを停止します。
> docker stop mysql-container-8.0.41
mysql-container-8.0.41
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME
S
>
mysql-container-8.0.41
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME
S>
コンテナは停止したようです。
Copyright (C) 2025 ymlib.com
