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

MySQL 5.6.24 源碼編譯安裝完整教程:從依賴到啟動的避坑指南

     編輯:MySQL 資料庫相關知識

前言:為何還要源碼安裝?

雖然 YUM/APT/RPM 安裝便捷,但源碼編譯能:自定義安裝路徑、精簡模組(僅啟用需求的存儲引擎)、優化編譯參數(如 -march=native)、掌握完整部署細節以便故障排查。本文記錄 CentOS 6/7 上 MySQL 5.6.24 完整編譯安裝流程,含常見報錯解決。

一、環境準備

# 1. 編譯工具鏈與依賴庫
yum install -y gcc gcc-c++ make cmake ncurses-devel bison openssl-devel

# 2. 建立 mysql 用戶/組
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql

# 3. 目錄規劃
mkdir -p /home/mysql/data
chown -R mysql:mysql /home/mysql

二、下載、解壓、進入目錄

cd /usr/local/src
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.24.tar.gz
tar zxf mysql-5.6.24.tar.gz
cd mysql-5.6.24

三、CMake 配置(關鍵參數詳解)

cmake \
  -DCMAKE_INSTALL_PREFIX=/home/mysql \
  -DMYSQL_DATADIR=/home/mysql/data \
  -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
  -DMYSQL_TCP_PORT=3306 \
  -DMYSQL_USER=mysql \
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci \
  -DWITH_MYISAM_STORAGE_ENGINE=1 \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DWITH_MEMORY_STORAGE_ENGINE=1 \
  -DWITH_READLINE=1 \
  -DENABLED_LOCAL_INFILE=1 \
  -DWITH_SSL=system \
  -DWITH_ZLIB=system

參數重點:

  • CMAKE_INSTALL_PREFIX:安裝根目錄,所有二進制、庫、腳本均在此下。
  • MYSQL_DATADIR:資料目錄,初始化後不可輕易變更。
  • WITH_SSL=system:使用系統 OpenSSL,避免捆綁 yaSSL 的授權限制。
  • 不需要的引擎(如 EXAMPLE, FEDERATED)預設不啟用,減小體積。

四、編譯安裝

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

五、初始化資料目錄(5.6 專用 mysql_install_db)

cd /home/mysql
scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data --basedir=/home/mysql

輸出末尾會顯示 root@localhost 的隨機密碼(5.6 無隨機密碼,root 無密碼),請記錄。

六、配置檔與啟動腳本

# 1. 複製啟動腳本
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

# 2. 建立 my.cnf(僅保留核心配置)
cat > /etc/my.cnf <<'EOF'
[mysqld]
basedir=/home/mysql
datadir=/home/mysql/data
socket=/home/mysql/mysql.sock
port=3306
user=mysql
character-set-server=utf8
collation-server=utf8_general_ci
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log-error=/home/mysql/data/error.log
pid-file=/home/mysql/data/mysql.pid
EOF

# 3. 權限修正
chown -R mysql:mysql /home/mysql

七、啟動與驗證

service mysqld start
netstat -anp | grep 3306
/home/mysql/bin/mysql -uroot -p   # 按提示輸入密碼(初始為空)

八、常見報錯與解決

錯誤原因解決
Curses library not found缺 ncurses-develyum install ncurses-devel && rm CMakeCache.txt && 重新 cmake
Bison executable not found缺 bisonyum install bison
Permission denied 執行 mysql_install_db腳本無執行權限chmod +x scripts/mysql_install_db
啟動報 PID file not founddatadir 權限錯誤、或殘留進程chown -R mysql:mysql /home/mysql/data;pkill mysqld 後重試
Can't connect to local MySQL server through socketsocket 路徑不一致統一 my.cnf、mysql.server、客戶端 --socket 參數

九、安全加固(上線必做)

/home/mysql/bin/mysql_secure_installation
# 依提示:設 root 密碼、移除匿名用戶、禁止 root 遠程登入、移除 test 庫、重新載入權限

十、環境變數與開機自啟

echo 'export PATH=/home/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
chkconfig mysqld on

至此,MySQL 5.6.24 源碼編譯安裝完成。生產環境建議再根據負載調整 innodb_buffer_pool_size、innodb_log_file_size、max_connections 等核心參數,並建立監控告警體系。

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