本文詳細記錄在 CentOS 6.6 環境下,從源碼編譯安裝 MySQL 5.6 的完整流程,涵蓋依賴準備、CMake 安裝、編譯參數配置、目錄權限設置、數據庫初始化及服務管理等關鍵步驟,適合需要自定義安裝路徑或優化編譯選項的生產環境部署。
首先確認系統版本與內核信息:
cat /etc/issue
uname -r
安裝編譯所需的基礎工具庫(若離線環境請提前準備 RPM 包或掛載系統盤):
yum install gcc gcc-c++ ncurses-devel perl
MySQL 5.5 起採用 CMake 構建,需手動編譯安裝 CMake 3.3.0:
wget https://www.cmake.org/files/v3.3/cmake-3.3.0.tar.gz
tar -xzvf cmake-3.3.0.tar.gz
cd cmake-3.3.0
./bootstrap && make && make install
cd ~
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /usr/local/mysql # 安裝目錄
mkdir -p /data/mysqldb # 數據目錄
從官方鏡像下載 MySQL 5.6.25 源碼包:
wget ftp://mirror.csclub.uwaterloo.ca/mysql/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
tar -zxvf mysql-5.6.25.tar.gz
cd mysql-5.6.25
核心配置參數說明:
執行配置(如需重新配置請先刪除 CMakeCache.txt):
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
編譯並安裝(視硬件性能可能耗時較久):
make
make install
cd /usr/local/mysql && chown -R mysql:mysql .
cd /data/mysqldb && chown -R mysql:mysql .
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
將 MySQL 二進制目錄加入系統 PATH:
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile
service mysql start
chkconfig --level 35 mysql on
檢查端口監聽:
netstat -tulnp | grep 3306
首次登錄(初始密碼為空):
mysql -u root -p
設置 root 密碼並測試:
mysqladmin -u root password '123456'
mysql -uroot -p123456
| 參數 | 作用 |
|---|---|
| -DCMAKE_INSTALL_PREFIX | 指定安裝根目錄 |
| -DMYSQL_UNIX_ADDR | Socket 文件絕對路徑 |
| -DDEFAULT_CHARSET | 服務端默認字符集 |
| -DWITH_*_STORAGE_ENGINE=1 | 靜態編譯指定存儲引擎 |
| -DMYSQL_DATADIR | 數據目錄路徑 |
| -DMYSQL_TCP_PORT | 監聽端口(默認 3306) |