MySQLのインストールと設定に関するクロスプラットフォームガイド
MySQLのインストールは学習の第一歩であり、適切な方法を選ぶことで多くの手間を省くことができます。
このレッスンでは、すべてのプラットフォームにおけるインストール方法について解説します。手っ取り早く始めるには、Dockerの使用をお勧めします。
graph TB
A{Select Installation Method} -->|Recommendations| B[Docker]
A -->|Windows| C[OfficialInstaller]
A -->|macOS| D[Homebrew]
A -->|Linux| E[apt / dnf]
A -->|Advanced Users| F[Compiling from Source Code]
B --> G[30Instant Startup]
C --> H[Graphical Wizard Configuration]
D --> I[Command-Line Installation]
E --> J[Package Manager Installation]
G --> K[Connection Verification]
H --> K
I --> K
J --> K
1. 学習内容
- 3つのインストールオプション:Windows、Mac、Linux
- Docker を使って MySQL 8.0 を素早く導入する
- MySQL Workbenchのグラフィカルクライアントを介して接続する
- 初期パスワードの設定とセキュリティ設定
- 環境変数の設定とインストールの確認
2. 初心者の実話
(1) 課題:インストール手順が敬遠される原因となっている
バックエンド開発を学びたいフロントエンド開発者は、まずMySQLをインストールすることから始めます:
「公式のインストーラーをダウンロードして、Windowsへのインストールに20分も費やしましたが、セットアップウィザードの使い方がわからず、結局『サービスの起動に失敗しました』というエラーが表示されてしまいました。Stack Overflowで延々と検索してみましたが、それでもうまくいきませんでした。」
これはよくあることですが、インストールと設定の段階こそが、初心者の最も多くの割合が諦めてしまう段階なのです。
(2) Dockerによる解決策
# One-line command, ready in 30 seconds
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Root123! mysql:8.0
メリット: システムに負荷をかけず、数秒で起動・停止が可能で、バージョンの切り替えもスムーズに行え、アンインストール時には痕跡を残さずに完全に削除されます。
| 設置方法 | 所要時間 | 難易度 | 推奨事項 |
|---|---|---|---|
| Docker | 1分 | ⭐ | ⭐⭐⭐ |
| 公式インストーラー | 15分 | ⭐⭐ | ⭐⭐ |
| パッケージマネージャー | 5分 | ⭐⭐ | ⭐⭐ |
| ソースからコンパイル | 30分以上 | ⭐⭐⭐ | ⭐ |
3. Docker のインストール(推奨)
(1) Docker Desktop をインストールする
| プラットフォーム | ダウンロードリンク |
|---|---|
| Windows | https://docs.docker.com/desktop/install/windows-install/ |
| Mac (Intel) | https://docs.docker.com/desktop/install/mac-install/ |
| Mac (M1/M2) | https://docs.docker.com/desktop/install/mac-install/ |
| Linux | https://docs.docker.com/engine/install/ |
▶ 例:Docker を使って MySQL を起動する
# 1. Pull an image
docker pull mysql:8.0
# 2. Start the container (Set root password to Root123!)
docker run -d \
--name mysql-tutorial \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=Root123! \
-v mysql_data:/var/lib/mysql \
mysql:8.0
# 3. View Container Status
docker ps
# 4. Enter MySQL Command Line
docker exec -it mysql-tutorial mysql -u root -pRoot123!
出力:
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.
mysql>
▶ 例:よく使われる Docker 管理コマンド
# Start a Stopped Container
docker start mysql-tutorial
# Stop the container
docker stop mysql-tutorial
# Restart the container
docker restart mysql-tutorial
# View Logs
docker logs mysql-tutorial
# Delete Container (Must stop first)
docker stop mysql-tutorial && docker rm mysql-tutorial
# Delete Data Volume (Permanently Delete Data)
docker volume rm mysql_data
出力:
mysql-tutorial
4. Windowsへのインストール
(1) インストールパッケージをダウンロードする
https://dev.mysql.com/downloads/installer/ にアクセスして、MySQL Installer をダウンロードしてください。
▶ 例:Windowsのインストール手順
1. Run mysql-installer-community-8.0.x.msi
2. Select "Custom" Installation Type
3. Select MySQL Server 8.0 + MySQL Workbench
4. Layout:
- Config Type: Development Computer
- Port: 3306(Default)
- Authentication Method: Use Strong Password Encryption
- Root Password: Set a Password (Remember it!)
5. Click Execute Installation Complete
▶ 例:Windowsのインストールを確認する
# Open CMD or PowerShell
mysql --version
# Connect MySQL
mysql -u root -p
出力:
mysql Ver 8.0.36 for Win64 on x86_64 (MySQL Community Server - GPL)
5. macOSのインストール
▶ 例:Homebrewのインストール
# 1. Update Homebrew
brew update
# 2. Installation MySQL
brew install mysql
# 3. Start MySQL Services
brew services start mysql
# 4. Secure Initialization
mysql_secure_installation
# 5. Connection Test
mysql -u root -p
出力:
==> Downloading https://homebrew.bintray.com/bottles/mysql-8.0.36.arm64_sonoma.bottle.tar.gz
==> Pouring mysql-8.0.36.arm64_sonoma.bottle.tar.gz
==> Starting `mysql`...
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
6. Linuxのインストール
▶ 例:Ubuntu/Debianへのインストール
# 1. Update Package Index
sudo apt update
# 2. Installation MySQL Server
sudo apt install mysql-server
# 3. Start the service
sudo systemctl start mysql
# 4. Secure Initialization
sudo mysql_secure_installation
# 5. Connection Test
sudo mysql -u root -p
▶ 例:CentOS/RHELへのインストール
# 1. Add MySQL Yum Warehouse
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-9.noarch.rpm
# 2. Installation MySQL Server
sudo dnf install mysql-server
# 3. Start the service
sudo systemctl start mysqld
# 4. Get a temporary password
sudo grep 'temporary password' /var/log/mysqld.log
# 5. Secure Initialization(Use a temporary password)
mysql_secure_installation
7. MySQL Workbench への接続
▶ 例:Workbench での接続設定
1. Open MySQL Workbench
2. Click "+" Create a New Connection
3. Layout:
- Connection Name: Local MySQL
- Hostname: 127.0.0.1
- Port: 3306
- Username: root
- Password: Click "Store in Vault" Save Password
4. Click "Test Connection" Test
5. Click "OK" Save
接続成功の表示: 「MySQLへの接続に成功しました」と表示されます。
8. セキュリティ設定
(1) ルートパスワードポリシー
| 戦略 | 説明 |
|---|---|
| 長さ | 8桁以上 |
| 複雑さ | 大文字、小文字、数字、特殊文字を含む |
root、123456、password の使用は避けてください |
▶ 例:root パスワードの変更
-- Log in to MySQL and execute
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
-- Refresh Permissions
FLUSH PRIVILEGES;
▶ 例:一般ユーザーの作成(推奨)
-- Create a developer account, allow only local connections
CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'DevPass123!';
-- Grant permissions on all databases
GRANT ALL PRIVILEGES ON *.* TO 'dev_user'@'localhost';
-- Refresh Permissions
FLUSH PRIVILEGES;
出力:
Query OK, 0 rows affected (0.01 sec)
❓ よくある質問
-v mysql_data:/var/lib/mysqlのデータボリュームを使用している場合、データは保持されます。データボリュームを使用していない場合、コンテナを削除するとデータは失われます。-p 3307:3306 に切り替え、接続時に mysql -h 127.0.0.1 -P 3307 -u root -p を指定してください。mysql コマンドが見つかりませんか?bin ディレクトリを PATH 環境変数に追加する必要があります。Windows:システムのプロパティ → 環境変数 → PATH → C:\Program Files\MySQL\MySQL Server 8.0\bin を追加。Mac/Linux:export PATH=$PATH:/usr/local/mysql/bin。📖 まとめ
- Docker は最も推奨されるインストール方法であり、1つのコマンドで起動できます
- Windows: 公式のインストーラーを使用し、グラフィカルウィザードを使って設定を行います
- macOS:Homebrew を使ってインストールすることをお勧めします。手早く簡単にインストールできます。
- Linux: パッケージマネージャー(apt/dnf)を使用してください。サービスは手動で起動する必要があります。
- MySQL Workbench は、視覚的な操作を目的として設計された公式のグラフィカルクライアントです
- インストール後は、必ずrootパスワードを変更し、一般ユーザーを作成してください
📝 練習問題
-
基本演習(難易度:⭐):Docker を使用して MySQL 8.0 をインストールします。接続に成功したら、
SHOW DATABASES;を実行して、デフォルトのデータベースの一覧を表示してください。 -
上級演習(難易度 ⭐⭐):
test_userというユーザー名を、パスワードTestPass123!で新規作成し、mydbにデータベースに対するすべての権限を付与して、接続を確認してください。 -
課題(難易度:⭐⭐⭐):MySQL を設定してリモート接続を許可し(
bind-addressを変更して)、別のマシンから正常に接続できるようにする。



