404 Not Found

404 Not Found


nginx

MySQLのインストールと設定に関するクロスプラットフォームガイド

MySQLのインストールは学習の第一歩であり、適切な方法を選ぶことで多くの手間を省くことができます。

このレッスンでは、すべてのプラットフォームにおけるインストール方法について解説します。手っ取り早く始めるには、Dockerの使用をお勧めします。

100%
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. 学習内容


2. 初心者の実話

(1) 課題:インストール手順が敬遠される原因となっている

バックエンド開発を学びたいフロントエンド開発者は、まずMySQLをインストールすることから始めます:

「公式のインストーラーをダウンロードして、Windowsへのインストールに20分も費やしましたが、セットアップウィザードの使い方がわからず、結局『サービスの起動に失敗しました』というエラーが表示されてしまいました。Stack Overflowで延々と検索してみましたが、それでもうまくいきませんでした。」

これはよくあることですが、インストールと設定の段階こそが、初心者の最も多くの割合が諦めてしまう段階なのです。

(2) Dockerによる解決策

BASH
# 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 を起動する

BASH
# 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!

出力:

TEXT
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.
mysql>

▶ 例:よく使われる Docker 管理コマンド

BASH
# 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

出力:

TEXT
mysql-tutorial

4. Windowsへのインストール

(1) インストールパッケージをダウンロードする

https://dev.mysql.com/downloads/installer/ にアクセスして、MySQL Installer をダウンロードしてください。

▶ 例:Windowsのインストール手順

TEXT
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のインストールを確認する

BASH
# Open CMD or PowerShell
mysql --version

# Connect MySQL
mysql -u root -p

出力:

TEXT
mysql  Ver 8.0.36 for Win64 on x86_64 (MySQL Community Server - GPL)

5. macOSのインストール

▶ 例:Homebrewのインストール

BASH
# 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

出力:

TEXT
==> 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へのインストール

BASH
# 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へのインストール

BASH
# 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 での接続設定

TEXT
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桁以上
複雑さ 大文字、小文字、数字、特殊文字を含む
root123456password の使用は避けてください

▶ 例:root パスワードの変更

SQL
-- Log in to MySQL and execute
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';

-- Refresh Permissions
FLUSH PRIVILEGES;
▶ 試してみよう

▶ 例:一般ユーザーの作成(推奨)

SQL
-- 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;
▶ 試してみよう

出力:

TEXT
Query OK, 0 rows affected (0.01 sec)

❓ よくある質問

Q Docker経由でインストールしたMySQLのデータは失われますか?
A -v mysql_data:/var/lib/mysqlのデータボリュームを使用している場合、データは保持されます。データボリュームを使用していない場合、コンテナを削除するとデータは失われます。
Q ポート 3306 が使用中の場合はどうすればよいですか?
A 別のポート -p 3307:3306 に切り替え、接続時に mysql -h 127.0.0.1 -P 3307 -u root -p を指定してください。
Q rootパスワードを忘れてしまった場合はどうすればよいですか?
A Dockerを使用している場合は、コンテナを削除して再作成するだけで済みます。その他の方法では、認証プロセスをバイパスしてパスワードをリセットする必要があります。具体的な手順については、「MySQL rootパスワードのリセット」で検索してください。
Q MySQL 5.7 と 8.0、どちらを選ぶべきですか?
A 新規プロジェクトには 8.0 を選択してください(ウィンドウ関数や JSON の機能強化に対応しています)。レガシープロジェクトの保守には 5.7 を使用してください。この 2 つのバージョンは、構文の互換性が 95% あります。
Q インストール後、コマンドラインで mysql コマンドが見つかりませんか?
A MySQL の bin ディレクトリを PATH 環境変数に追加する必要があります。Windows:システムのプロパティ → 環境変数 → PATH → C:\Program Files\MySQL\MySQL Server 8.0\bin を追加。Mac/Linux:export PATH=$PATH:/usr/local/mysql/bin

📖 まとめ


📝 練習問題

  1. 基本演習(難易度:⭐):Docker を使用して MySQL 8.0 をインストールします。接続に成功したら、SHOW DATABASES; を実行して、デフォルトのデータベースの一覧を表示してください。

  2. 上級演習(難易度 ⭐⭐)test_user というユーザー名を、パスワード TestPass123! で新規作成し、mydb にデータベースに対するすべての権限を付与して、接続を確認してください。

  3. 課題(難易度:⭐⭐⭐):MySQL を設定してリモート接続を許可し(bind-address を変更して)、別のマシンから正常に接続できるようにする。

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%