本文 AI 產出,尚未審核

MySQL 安裝與環境設定

單元:安裝與環境設定
主題:在 macOS / Windows / Linux 安裝 MySQL


簡介

MySQL 是最廣為使用的開源關聯式資料庫之一,無論是網站後端、行動應用,還是資料分析平台,都離不開它的支撐。對開發者來說,能在本機環境快速、正確地安裝 MySQL,是學習 SQL 語法、測試資料庫設計、以及進行本地開發的第一步。

本篇文章將針對 macOS、Windows、Linux 三大作業系統,提供完整的安裝流程、常見問題與最佳實踐,讓你能在不同環境下都能順利啟動 MySQL,並以簡單的範例說明如何驗證安裝是否成功。


核心概念

1. 為什麼要選擇官方套件或套件管理工具?

作業系統 常用安裝方式 優點
macOS Homebrew、官方 DMG 自動解決相依套件、支援版本切換
Windows MySQL Installer、ZIP 壓縮檔 圖形化安裝精簡、可選擇完整或最小安裝
Linux apt (Debian/Ubuntu)、yum (CentOS) 套件管理器自動更新、與系統服務整合

建議:在開發環境中使用套件管理工具(Homebrew、apt、yum),可讓升級與移除變得更安全、可控。

2. 安裝前的環境檢查

  • 確認系統版本:MySQL 官方只支援特定的 OS 版本,請先至 https://dev.mysql.com/downloads/ 查閱相容性表。
  • 檢查防火牆與端口:預設 MySQL 監聽 3306 埠,若防火牆阻擋會導致無法遠端連線。
  • 決定安裝類型:開發環境建議安裝 Community Edition;若需要商業支援,可考慮 Enterprise Edition

3. 安裝流程概覽

以下以 macOS、Windows、Linux 為例,說明從下載、安裝、設定到驗證的完整步驟。


安裝實作

3.1 macOS 安裝 MySQL

3.1.1 使用 Homebrew 安裝

# 1. 更新 Homebrew
brew update

# 2. 安裝 MySQL(預設安裝最新的 8.x 版)
brew install mysql

# 3. 啟動 MySQL 服務(開機自動啟動可使用 brew services)
brew services start mysql

# 4. 檢查服務狀態
brew services list

Homebrew 會自動處理依賴的 OpenSSL、readline 等套件,省去手動編譯的麻煩。

3.1.2 設定 root 密碼

# 進入 MySQL 安全設定腳本
mysql_secure_installation

# 依照提示設定 root 密碼、移除匿名使用者、禁止遠端 root 登入等

3.1.3 測試連線

# 使用 mysql 客戶端連線
mysql -u root -p

# 成功後會看到 MySQL 提示符
mysql>

3.2 Windows 安裝 MySQL

3.2.1 下載 MySQL Installer

  1. 前往 https://dev.mysql.com/downloads/installer/
  2. 下載 MySQL Installer (Web Community)(約 100 MB)
  3. 執行 mysql-installer-community-*.exe

3.2.2 安裝向導步驟

步驟 操作說明
選擇產品與功能 勾選 Server, MySQL Shell, MySQL Workbench(視需求)
設定類型 建議選擇 Developer Default,會安裝完整的開發套件
設定 root 密碼 輸入強密碼,並記錄在安全位置
選擇執行方式 預設 Windows Service,設定為 自動啟動
完成安裝 安裝完成後會自動啟動服務,並顯示「MySQL Server is ready」

3.2.3 使用命令列驗證

rem 開啟命令提示字元 (cmd) 或 PowerShell
mysql -u root -p

輸入密碼後,如果出現 mysql> 提示符,即表示安裝成功。


3.3 Linux (Ubuntu/Debian) 安裝 MySQL

3.3.1 使用 apt 安裝

# 1. 更新套件清單
sudo apt update

# 2. 安裝 MySQL Server(預設 8.0)
sudo apt install mysql-server

# 3. 安裝過程會自動產生臨時 root 密碼,建議立即執行安全設定
sudo mysql_secure_installation

3.3.2 啟動與檢查服務

# 啟動 MySQL
sudo systemctl start mysql

# 設定開機自動啟動
sudo systemctl enable mysql

# 查看服務狀態
sudo systemctl status mysql

3.3.3 連線測試

# 使用本機 root 帳號連線
sudo mysql

# 若已設定密碼,可改用
mysql -u root -p

3.4 常用程式碼範例

以下提供 5 個實用範例,涵蓋資料庫建立、使用者權限、資料匯入、備份與還原。

範例 1:建立測試資料庫與資料表

-- 建立資料庫
CREATE DATABASE IF NOT EXISTS test_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 切換至該資料庫
USE test_db;

-- 建立簡易的 user 資料表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    email    VARCHAR(100) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

範例 2:新增一個僅能從本機連線的使用者

-- 建立使用者 test_user,密碼為 StrongP@ssw0rd
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd';

-- 授予 test_user 在 test_db 上的全部權限
GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost';

-- 重新整理權限
FLUSH PRIVILEGES;

範例 3:匯入 CSV 檔案至資料表

-- 假設 CSV 檔位於 /tmp/users.csv,欄位順序為 username,email
LOAD DATA INFILE '/tmp/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(username, email);

注意:Linux 系統需確保 secure_file_priv 參數允許讀取該路徑,或將檔案放在 /var/lib/mysql 之下。

範例 4:備份資料庫(mysqldump)

# 使用 root 或有 RELOAD 權限的帳號備份 test_db
mysqldump -u root -p test_db > /path/to/backup/test_db_$(date +%F).sql

範例 5:還原備份檔案

# 先建立空的資料庫(若不存在)
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS test_db;"

# 再將備份匯入
mysql -u root -p test_db < /path/to/backup/test_db_2024-10-01.sql

常見陷阱與最佳實踐

陷阱 可能的症狀 解決方案或最佳實踐
忘記設定 root 密碼 ERROR 1045 (28000): Access denied for user 'root'@'localhost' 安裝後立即執行 mysql_secure_installation,或使用 sudo mysql 以免密碼模式登入。
防火牆阻擋 3306 埠 無法從遠端或本機其他程式連線 在 macOS 用 pfctl、Windows 用 Windows Defender Firewall、Linux 用 ufw 開啟 3306。
資料目錄權限錯誤 ERROR 2002 (HY000): Can't connect to local MySQL server through socket 確認 mysqld 執行帳號(通常是 mysql)對 /var/lib/mysql(Linux)或 datadir 目錄具寫入權限。
版本不相容 安裝失敗或執行時出現 ERROR 1064 請先確認 OS 與 MySQL 版本相容,必要時使用舊版套件或 MariaDB 替代。
自動啟動失敗 重開機後 MySQL 沒有跑起來 在 macOS 使用 brew services start mysql,Linux 使用 systemctl enable mysql,Windows 確認服務設定為「自動」且帳號有啟動權限。

最佳實踐

  1. 使用強密碼,並定期更換。
  2. 限制遠端 root 登入,僅允許本機或特定 IP。
  3. 定期備份(每日增量、每週全備),並測試還原流程。
  4. 監控資源使用,可透過 mysqladmin statusperformance_schema
  5. 保持套件更新,特別是安全性更新。

實際應用場景

場景 為何需要本機 MySQL 典型操作
Web 前端開發 與後端 API 測試時需要即時存取資料 建立測試 DB、使用 Docker 內的 MySQL 進行 CI
資料分析與 ETL 需要匯入大量 CSV/JSON 並進行 SQL 分析 使用 LOAD DATA INFILESELECT INTO OUTFILE
學習與認證 練習 SQL 語法、參與 MySQL 官方認證(OCA/OCP) 實作資料庫正規化、索引優化、交易管理
本機服務模擬 測試多服務架構(如微服務)時的資料庫依賴 使用 mysqld 多埠執行多個實例,或搭配 Docker Compose
離線開發 無法連上公司內部資料庫時仍需開發 在本機安裝相同版本的 MySQL,保持環境一致性

總結

本文從 macOS、Windows、Linux 三大平台,詳細說明了 MySQL 的安裝步驟、設定要點與驗證方法。透過 Homebrew、MySQL Installer、apt 等套件管理工具,我們不僅能快速部署資料庫,還能利用 mysql_secure_installation 加固安全性。文章同時提供了 5 個實用的 SQL / CLI 範例,涵蓋資料庫建立、使用者管理、資料匯入、備份與還原,讓讀者能即刻在本機環境驗證安裝成果。

最後,我們列出常見的陷阱與最佳實踐,提醒大家在開發與測試階段要注意密碼、權限、端口與備份等關鍵點。掌握這些基礎後,你就能在任何作業系統上穩定運行 MySQL,為後續的資料庫設計、效能調校與實務開發奠定堅實基礎。

祝你安裝順利,開發愉快! 🎉