標籤:
註:由於mysql5.5的源碼包安裝與mysql之前的版本安裝方法不同,故寫一篇隨筆記錄。5.5的版本不再是./configure make make install 這裡用到了cmake了,cmake是一個跨平台的編譯工具。
注意:
mysql-5.5以後的版本不能使用make編譯,只能使用cmake工具編譯安裝。
cmake指定編譯選項的方式不同於make 。
"./configure" 與 "cmake . "相似
"./configure --help " 與 "cmake . -LH "或者" ccmake . "相似
一,提前安裝mysql依賴的庫。
yum install -y make bison cmake gcc-c++ ncurses ncurses-devel
二,下載mysql並解壓。
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.49.tar.gz
tar zxvf mysql-5.5.49.tar.gz
cd mysql-5.5.49.tar.gz
三,建立mysql使用者、datadir.
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
四,編譯前的參數配置
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
配置參數說明:
DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄
-DINSTALL_DATADIR=/data/mysql //資料庫存放目錄
-DDEFAULT_CHARSET=utf8 //使用utf8字元
-DDEFAULT_COLLATION=utf8_general_ci //校正字元
-DEXTRA_CHARSETS=all //安裝所有擴充字元集
-DENABLED_LOCAL_INFILE=1 //允許從本地匯入資料
其它參數配置具體可以參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
五,編譯
make
六,安裝
make install
七,cd到basedir中去,複製設定檔,並初始化mysql.
cd /usr/local/mysql
chown -R mysql /usr/local/mysql
cp support-files/my-medium.cnf /etc/my.cnf
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
八,拷貝啟動指令碼並添加到服務列表,開機啟動。
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld 指定basedir 和 datadir的目錄
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
/etc/init.d/mysqld start
九,添加環境變數
echo "PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
source /etc/profile
特別說明:
重新編譯時間,需要清除舊的對象檔案和緩衝資訊。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
擴充知識:./configure 與cmake的區別
./configure就是執行你目前的目錄下一個名叫configure的指令碼,由它產生Makefile,有了Makefile之後,一般來說就可以通過make進行編譯,make install進行安裝
cmake就是一個與make同層級的編譯工具,只不過它依靠的不是Makefile作為編譯規則,而是根據CMakeLists.txt來編譯的。
mysql 5.5源碼包安裝