本文 AI 產出,尚未審核

MySQL 安裝與環境設定

使用 MySQL Server、Client、Workbench


簡介

MySQL 是最普及的開源關聯式資料庫之一,無論是 網站後端行動應用,或是 資料分析,都常會與 MySQL 打交道。
在正式開發之前,先把 MySQL ServerMySQL Client 以及 MySQL Workbench 正確安裝與設定好,才能確保後續的資料庫操作順暢、除錯快速。

本單元將帶你:

  1. 依平台(Windows、Linux、macOS)安裝 MySQL Server 與 Client。
  2. 透過指令列連線、驗證安裝是否成功。
  3. 使用圖形化工具 MySQL Workbench 建立連線、管理 schema。

即使你是剛接觸資料庫的初學者,也能在閱讀完本篇後,立即在自己的開發機上跑起第一個 SELECT 查詢。


核心概念

1. MySQL Server、Client 與 Workbench 的角色分工

元件 功能 常見使用情境
MySQL Server 資料庫核心,負責儲存、查詢、事務處理等 後端服務、資料倉儲
MySQL Client (mysql 指令) 文字介面的連線工具,直接向 Server 發送 SQL 快速測試、腳本自動化
MySQL Workbench 圖形化管理工具,提供 ER 圖、資料庫設計、SQL 編輯器 視覺化開發、除錯、備份還原

重點:Server 必須先啟動,Client 與 Workbench 才能成功連線。


2. 安裝 MySQL Server

2.1 Windows

  1. 前往官方下載頁 https://dev.mysql.com/downloads/mysql/,選擇 Windows (x86, 64-bit), MSI Installer

  2. 執行 installer,步驟如下:

    • Setup Type:建議選 Developer Default(會同時安裝 Server、Client、Workbench)。
    • Configuration:選 Standalone MySQL Server / Classic MySQL.
    • Port:預設 3306(若已有服務佔用,可自行變更)。
    • Root Password:設定強密碼,務必記錄下來。
  3. 完成後,系統會自動將 mysqld 加入服務,並啟動。

2.2 Linux(以 Ubuntu 為例)

# 更新套件清單
sudo apt update

# 安裝 MySQL Server(會同時安裝 client)
sudo apt install -y mysql-server

# 安全性設定(建議執行)
sudo mysql_secure_installation

註解mysql_secure_installation 會引導你設定 root 密碼、移除匿名帳號、禁止遠端 root 登入等安全選項。

2.3 macOS(使用 Homebrew)

# 安裝 Homebrew(若尚未安裝)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安裝 MySQL
brew install mysql

# 啟動服務
brew services start mysql

# 設定 root 密碼
mysql_secure_installation

3. 使用 MySQL Client 連線

3.1 基本連線指令

# 連線到本機的 MySQL Server
mysql -u root -p

輸入 -p 後會提示輸入密碼,若使用 -h 指定遠端主機 IP,則為 mysql -h 192.168.1.100 -u user -p

3.2 常用指令範例

-- 顯示目前連線的資料庫
SELECT DATABASE();

-- 列出所有資料庫
SHOW DATABASES;

-- 建立測試資料庫
CREATE DATABASE testdb;

-- 切換到 testdb
USE testdb;

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

-- 插入測試資料
INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob',   'bob@example.com');

-- 查詢資料
SELECT * FROM users;

小技巧:在 mysql 交互式介面下,使用 \c 可以取消目前的查詢,\q 退出。


4. MySQL Workbench 的安裝與設定

4.1 安裝

平台 下載連結
Windows https://dev.mysql.com/downloads/workbench/
macOS 同上,選擇 dmg 檔
Linux 使用套件管理員,例如 sudo apt install mysql-workbench

4.2 建立連線

  1. 開啟 Workbench,點擊 + 按鈕新增 MySQL Connection

  2. 填入以下資訊:

    • Connection Name:自訂名稱(如 Local MySQL)。
    • Connection MethodStandard (TCP/IP)
    • Hostname127.0.0.1(本機)或遠端 IP。
    • Port3306(若改過則填新埠號)。
    • Usernameroot(或其他使用者)。
    • Password:點擊 Store in Vault 輸入密碼。
  3. 點擊 Test Connection,若顯示 Successfully made the MySQL connection 即完成設定。

4.3 常見操作示範(SQL 編輯器)

-- 1. 建立 schema(相當於資料庫)
CREATE SCHEMA shop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 2. 切換 schema
USE shop;

-- 3. 建立商品資料表
CREATE TABLE products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10,2) NOT NULL,
    stock INT DEFAULT 0,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 4. 批次匯入 CSV(Workbench 內建匯入向導)
-- 5. 產生 ER 圖(Menu > Database > Reverse Engineer)

提示:Workbench 的 Model 功能可將 ER 圖直接產生 CREATE TABLE 語句,對於資料庫設計非常有幫助。


常見陷阱與最佳實踐

陷阱 描述 解決方案
忘記啟動服務 安裝完畢後未手動啟動 mysqld,導致 client 連線失敗。 在 Windows 服務管理員確認 MySQL80(或相應版本)已啟動;Linux/macOS 用 systemctl status mysqlbrew services list
預設 root 無密碼 某些舊版安裝會留下空密碼,安全風險極高。 立即設置 強密碼,並在 my.cnf 中加入 skip-networkingbind-address=127.0.0.1 限制遠端登入。
字符集不一致 資料表使用 latin1,卻在應用程式以 UTF‑8 讀寫,會出現亂碼。 建議在安裝時選擇 utf8mb4 為預設字符集,或在 my.cnf 加入 character-set-server=utf8mb4
端口衝突 本機已有其他服務佔用 3306,導致 MySQL 無法啟動。 my.cnf(或 Windows Installer 中)修改 port 為未被使用的埠號,並在 client 端相應調整。
權限過寬 使用 GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' 給予全域權限。 依需求 最小權限原則,只授予特定資料庫與操作,例如 GRANT SELECT, INSERT, UPDATE ON shop.* TO 'app'@'%'.

最佳實踐

  1. 使用非 root 帳號:在 mysql 中建立專屬應用使用者,僅授予必要權限。
  2. 定期備份:利用 mysqldump 或 Workbench 的 Export 功能,排程每日全備份。
  3. 監控服務狀態:在 Linux 可使用 systemctl enable mysql 讓服務開機自動啟動,並透過 journalctl -u mysql 觀察日誌。
  4. 設定慢查詢日誌slow_query_log=ONlong_query_time=1,協助找出效能瓶頸。

實際應用場景

場景 為何選擇 MySQL 相關設定要點
部落格網站 輕量、支援大量讀取 使用 InnoDB,啟用 query cache(MySQL 5.7)或改用外部快取(Redis)。
電商平台 需要事務 (transaction) 保證 開啟 innodb_flush_log_at_trx_commit=1,確保每筆訂單寫入磁碟。
資料分析原型 與 Python、R 整合方便 安裝 mysqlclient 套件,使用 SELECT ... INTO OUTFILE 匯出 CSV。
微服務架構 每個服務獨立資料庫,易於擴展 為每個服務建立獨立 schema,使用 Docker 部署 mysql:8.0 容器,設定 --default-authentication-plugin=caching_sha2_password

總結

  • MySQL Server 是資料庫的核心,必須先確保服務正常啟動。
  • MySQL Client 提供快速的指令列測試環境,適合腳本化與除錯。
  • MySQL Workbench 則是圖形化的好幫手,從連線、資料庫設計到備份,都能一站式完成。

透過本篇的安裝步驟與範例,你現在已經能在本機或遠端環境建立完整的 MySQL 開發環境,並掌握 安全性、效能 兩大關鍵。未來只要再加上 ORM(如 Sequelize、Doctrine)或 容器化(Docker),就能更快速地把資料庫整合進你的應用程式。祝開發順利,資料庫永遠平穩運作!