二進制分發版(推薦大多數場景)
| 優點 | 缺點 |
| 安裝簡單、快速(RPM/DEB/DMG/ZIP) | 編譯選項固定,無法裁剪 |
| 官方測試充分、穩定性高 | 特定優化需求(如僅支援 utf8mb4)無法滿足 |
| 提供標準版與 -max 版(含事務引擎) | 依賴系統預設庫版本(glibc、OpenSSL 等) |
| 升級容易(包管理器) | |
原始碼分發版(進階需求)
| 適用場景 | 關鍵 configure 選項 |
| 自訂安裝路徑佈局 | --prefix, --datadir, --sysconfdir |
| 啟用特定引擎/功能 | --with-innodb, --with-berkeley-db, --with-libwrap |
| 精簡字元集支援 | --with-charset=utf8mb4 --with-extra-charsets=none |
| 專用編譯器優化 | CC=gcc CFLAGS="-O3 -march=native" |
| 追蹤最新 Bugfix (BitKeeper/Git) | 源碼同步最新提交 |
| 閱讀/修改核心原始碼 | 最終文檔即源碼 |
| 更多測試案例與範例 | 包含完整測試套件 |
決策流程圖
是否為標準 Linux 發行版? → 是 → 使用官方倉庫 RPM/DEB (yum/apt install mysql-server)
↓ 否
需要特定編譯優化或精簡功能? → 是 → 原始碼編譯
↓ 否
需要最新版本但無官方包? → 官方 Generic 二進制 tarball
↓ 否
Docker/K8s 環境? → 官方 Docker Image (mysql:8.0)
關鍵提醒
- MySQL 5.1+
--with-innodb 預設開啟
- 原始碼編譯需安裝
cmake、bison、ncurses-devel、openssl-devel 等建構依賴
- 生產環境優先選擇長期支援(LTS)版本:5.7、8.0
- 避免混用包管理器安裝與手動編譯,導致檔案衝突