之前寫過一篇Linux下編譯安裝MySQL,但是在5.5版本之後MySQL自動化建構工具從GUN Autotools 換成了跨平臺的Cmake 系統,編譯和配置和原來有些不同,這裏做一個簡單的小結。
1. 安裝CMake
Cmake是跨平臺的工具,如果之前就嘗試過在Windows上編譯MySQL 的同學,就應該還記得CMake。
我的環境是不自帶CMake(環境:RHEL5.4,YUM倉庫裏面沒有CMake),所以需要自己安裝。安裝過程簡單、順利,沒有遇到任何依賴問題......:)
$tar zxf cmake-2.6.4.tar.gz $cd cmake-2.6.4 $./bootstrap $make $sudo make install
2. CMake編譯MySQL 5.5
tar zxf mysql-5.5.11.tar.g cd mysql-5.5.11 CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" cmake . -LH|more //CMake下查看MySQL的編譯配置 cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql -DEXTRA_CHARSETS=all make -j 8 //8核並行編譯 make install
其中"ccmake . -D......"也可直接使用"cmake .",這樣會進入一個簡單文本GUI界面進行MySQL編譯參數配置;
另外,原來的AutoTools和現在CMake配置參數的變化,在MySQL Forge的Autotools to CMake Transition Guide 中可以查閱詳細的對比說明。
3. 編譯安裝Step by Step
除了上面編譯部分不同之外,其他的過程和原來的版本都還是不變的:
# # # 新建運行MySQL的用戶 groupadd dba useradd -g dba mysql cp mysql-5.5.11.tar.gz /home/mysql/ chown -R mysql:dba /home/mysql/mysql-5.5.11.tar.gz # # # 開始編譯、安裝 su - mysql tar zxf mysql-5.5.11.tar.gz cd mysql-5.5.11 CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" cmake . -LH|more //CMake下查看MySQL的編譯配置 cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql -DEXTRA_CHARSETS=all make -j 8 && make install #-j 表示希望使用cpu核數 # # # 建立配置文件 cd /home/mysql/mysql su - root cp mysql/share/mysql/my-medium.cnf /etc/my.cnf chown -R mysql:dba /etc/my.cnf # # # 修改配置文件 配置數據文件、日誌的路徑 su - mysql vi /etc/my.cnf basedir = /home/mysql/mysql datadir = /home/mysql/mysql/data socket = /home/mysql/mysql/run/mysql.sock log-error = /home/mysql/mysql/log/alert.log log_slow_queries = /home/mysql/mysql/log/slow.log mkdir log run tmp # # # 初始MySQL配置表(用戶表 權限表等) ./scripts/mysql_install_db --basedir=/home/mysql/mysql --datadir=/home/mysql/mysql/data --user=mysql --force # # # 啓動MySQL ./bin/mysqld_safe &