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

MySQL 源碼編譯安裝極簡教程:從下載到啟動 14 步走

     編輯:MySQL 資料庫相關知識

適用場景

  • 無 RPM/DEB 包管理器的系統。
  • 需自定義編譯參數(字符集、插件、路徑)。
  • 學習 MySQL 內部構建過程。
生產環境建議:優先使用官方預編譯二進制包或發行版倉庫,經過充分測試、安全更新及時。

14 步極簡安裝流程

  1. 下載源碼包:wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.xx.tar.gz
  2. 解壓:tar zxvf mysql-5.7.xx.tar.gz && cd mysql-5.7.xx
  3. 安裝依賴 (CentOS/RHEL):yum install -y cmake gcc gcc-c++ ncurses-devel bison openssl-devel
  4. 創建用戶組:groupadd mysql && useradd -r -g mysql -s /bin/false mysql
  5. 配置編譯參數:
    cmake . \
      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
      -DMYSQL_DATADIR=/data/mysql \
      -DDEFAULT_CHARSET=utf8mb4 \
      -DDEFAULT_COLLATION=utf8mb4_general_ci \
      -DWITH_INNOBASE_STORAGE_ENGINE=1 \
      -DWITH_MYISAM_STORAGE_ENGINE=1 \
      -DENABLED_LOCAL_INFILE=1 \
      -DWITH_SSL=system \
      -DWITH_ZLIB=system
  6. 編譯安裝:make -j$(nproc) && make install
  7. 修改目錄權限:chown -R mysql:mysql /usr/local/mysql /data/mysql
  8. 初始化數據目錄 (MySQL 5.7+):
    cd /usr/local/mysql
    bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
  9. 配置文件:cp support-files/my-default.cnf /etc/my.cnf 並按需修改。
  10. 啟動腳本:cp support-files/mysql.server /etc/init.d/mysqld && chmod +x /etc/init.d/mysqld
  11. 加入自啟動:chkconfig --add mysqld && chkconfig mysqld on
  12. 環境變量:echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile && source /etc/profile
  13. 啟動服務:service mysqld start
  14. 安全初始化:mysql_secure_installation

驗證安裝

mysql -u root -p -e "SELECT VERSION(); SHOW DATABASES;"
# 輸出應包含版本號、系統庫列表

常見編譯錯誤對策

錯誤現象原因解決
CMake 錯誤:Curses library not found缺少 ncurses-develyum install ncurses-devel
編譯錯誤:bison not found缺少 bisonyum install bison
SSL 錯誤:OpenSSL version mismatch系統 OpenSSL 版本過舊-DWITH_SSL=bundled 使用內置
內存不足導致 make 失敗編譯並行度過高make -j2 限制並行

卸載清理

service mysqld stop
chkconfig --del mysqld
rm -rf /usr/local/mysql /data/mysql /etc/my.cnf /etc/init.d/mysqld
userdel mysql
groupdel mysql
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved