首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Unix/Linux 原始碼編譯安裝 MySQL 完整教學

     編輯:MySQL 資料庫相關知識

前置準備

  • Root 權限:`su -`
  • 編譯工具鏈:`gcc`、`make`、`cmake` (5.7+)、`bison`、`ncurses-devel`、`openssl-devel` 等
  • 下載源碼:MySQL Source Code (`.tar.gz`)

解壓與進入目錄

cd /usr/local/src
tar -zxvf mysql-8.0.36.tar.gz
cd mysql-8.0.36

CMake 配置 (MySQL 5.7+ 使用 CMake 取代 configure)

cmake . \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_DATADIR=/data/mysql \
  -DSYSCONFDIR=/etc \
  -DWITH_INNODB=ON \
  -DWITH_PARTITION_STORAGE_ENGINE=ON \
  -DDEFAULT_CHARSET=utf8mb4 \
  -DDEFAULT_COLLATION=utf8mb4_unicode_ci \
  -DWITH_SSL=system \
  -DWITH_ZLIB=system \
  -DDOWNLOAD_BOOST=1 \
  -DWITH_BOOST=/usr/local/boost

常用選項說明:

  • `-DCMAKE_INSTALL_PREFIX`:安裝根目錄
  • `-DMYSQL_DATADIR`:資料目錄 (建議獨立分區)
  • `-DDEFAULT_CHARSET`:預設字符集 (推薦 utf8mb4)
  • `-DWITH_SSL`:OpenSSL 庫來源
  • `-DDOWNLOAD_BOOST`:自動下載 Boost (編譯依賴)

編譯與安裝

make -j$(nproc)      # 並行編譯加速
make install

後續初始化

  1. 建立 mysql 用戶與組:
    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql
  2. 建立資料目錄並授權:
    mkdir -p /data/mysql
    chown mysql:mysql /data/mysql
  3. 初始化系統表 (MySQL 5.7.6+ / 8.0):
    cd /usr/local/mysql
    bin/mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql
    # 記錄輸出中的臨時 root 密碼
  4. 配置 my.cnf (/etc/my.cnf):
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/mysql
    socket=/data/mysql/mysql.sock
    port=3306
    user=mysql
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    innodb_buffer_pool_size=1G
    # ... 其他參數
  5. 註冊 systemd 服務:
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    # 或建立 systemd unit 檔
    systemctl daemon-reload
    systemctl enable mysqld
    systemctl start mysqld
  6. 設定 PATH 環境變數:
    echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
    source /etc/profile
  7. 修改 root 密碼並執行安全腳本:
    mysql -u root -p'臨時密碼'
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongP@ssw0rd!';
    mysql_secure_installation

驗證安裝

/usr/local/mysql/bin/mysqlshow -u root -p
# 應顯示系統資料庫列表

升級與維護

  • 小版本升級:替換二進制檔、重啟服務、執行 `mysql_upgrade`
  • 大版本升級:需完整備份、審查 Release Notes、測試相容性
  • 定期檢查官方安全公告並套用補丁

編譯安裝優缺點

優點缺點
高度客製化 (功能裁剪、路徑、參數)流程繁瑣、耗時、易出錯
效能優化 (CPU 指令集、靜態連結)升級維護成本高、無套件管理器支援
最新功能搶鮮體驗相依庫版本衝突風險
學習內部機制生產環境建議使用官方 RPM/DEB

除非有特殊定製需求,**生產環境強烈建議使用官方預編譯套件 (RPM/DEB) 或容器部署**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved