記錄從依賴安裝、CMake 配置、編譯安裝、初始化、啟動到驗證的全過程,適用於需自定義編譯參數的場景。
mkdir -p /home/zhuzz/tools; cd /home/zhuzz/tools
# 上傳 cmake-2.8.8.tar.gz、mysql-5.5.32.tar.gz
tar xf cmake-2.8.8.tar.gz
cd cmake-2.8.8
yum install -y gcc-c++ ncurses-devel
./configure && gmake && gmake install
groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
cd /home/zhuzz/tools
tar xf mysql-5.5.32.tar.gz
cd mysql-5.5.32
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 \
-DMYSQL_DATADIR=/usr/local/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_DEBUG=0
make && make install
# 軟連結
ln -s /usr/local/mysql-5.5.32 /usr/local/mysql
# 配置文件
cp support-files/my-small.cnf /etc/my.cnf
# 環境變量
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile
# 權限
cd /usr/local/mysql
chown -R mysql.mysql .
chmod -R 1777 /tmp/
cd /usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
# 出現 "OK" 表示成功
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
# 設定 root 密碼並驗證
/usr/local/mysql/bin/mysqladmin -u root password 'root'
chkconfig mysqld on
mysql> DELETE FROM mysql.user;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'system'@'localhost' IDENTIFIED BY 'system' WITH GRANT OPTION;
源碼編譯可精確控制功能模組與路徑,生產環境建議改用官方 RPM/DEB 或 Percona Server 以利維護升級。