在 Linux 環境下從原始碼編譯安裝 MySQL 時,常會遇到各種依賴套件缺失的問題。本文記錄在 CentOS 5.9 上安裝 MySQL 5.5.31 的完整流程,包含 CMake 建置、依賴套件安裝、MySQL 編譯參數設定、權限配置與環境變數設定等步驟,供需要手動編譯安裝特定版本 MySQL 的開發者參考。
MySQL 5.5 版本起採用 CMake 作為建置工具,首先需安裝 CMake 2.8 以上版本。
[root@localhost]# tar xzvf cmake-2.8.4.tar.gz
[root@localhost src]# cd cmake-2.8.4
[root@localhost cmake-2.8.4]# ./configure
若出現 「Cannot find appropriate C compiler」 錯誤,表示系統缺少 C 編譯器。
[root@localhost ~]# yum install gcc
重新執行 ./configure,若出現 「Cannot find appropriate C++ compiler」,則需安裝 C++ 編譯器:
[root@localhost ~]# yum install gcc-c++
[root@localhost cmake-2.8.4]# ./configure
[root@localhost cmake-2.8.4]# make
[root@localhost cmake-2.8.4]# make install
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql
[root@localhost ~]# tar xzvf mysql-5.5.31.tar.gz
[root@localhost ~]# cd mysql-5.5.31
[root@localhost mysql-5.5.31]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
若出現 「Curses library not found」 錯誤,需安裝 ncurses-devel:
[root@localhost mysql-5.5.31]# yum install ncurses-devel
安裝完成後,刪除 CMakeCache.txt 並重新執行 CMake。
配置過程中若出現 「Warning: Bison executable not found in PATH」,安裝 Bison:
[root@localhost mysql-5.5.31]# yum install bison
再次刪除 CMakeCache.txt 重新配置,直到出現 「Configuring done -- Generating done」 訊息。
[root@localhost mysql-5.5.31]# make && make install
編譯過程較久,建議耐心等待。
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# chown -R root:mysql .
[root@localhost mysql]# chown -R mysql:mysql data
[root@localhost scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
/usr/local/mysql/bin/mysqld_safe --user=mysql &
編輯 ~/.bash_profile,在 PATH 中加入 MySQL 執行檔路徑:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
export PATH
執行 source ~/.bash_profile 使設定生效。
CentOS 透過 yum 管理依賴相當方便,缺少套件時自動下載安裝。手動編譯安裝雖步驟較多,但可精確控制版本與編譯參數,適合生產環境特定需求。