前言:源碼預編譯MySQL資料庫,使用時cmake 方式,MySQL資料庫官方出的資料庫編譯命令,和普通源碼安裝軟體不同 (configure)。 CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。cmake所做的事其實就 是告訴編譯器如何去編譯鏈接源代碼。 ...
前言:源碼預編譯MySQL資料庫,使用時cmake 方式,MySQL資料庫官方出的資料庫編譯命令,和普通源碼安裝軟體不同 (configure)。 CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。cmake所做的事其實就 是告訴編譯器如何去編譯鏈接源代碼。在Windows平臺通用。
安裝過程:
一、安裝cmake命令
[root@localhost ~]# yum -y install cmake
二、下載mysql-5.5.20.tar.gz,並解壓
[root@localhost quail]# tar zxf mysql-5.5.20.tar.gz #源碼包通過rz上傳
三、進行預編譯
[root@localhost mysql-5.5.20 ]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \ -DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
PS:第一次預編譯可能會報錯
CMake Error at cmake/readline.cmake:83 (MESSAGE): Curses library not found. Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
解決方法:提示缺少MySQL一個終端支持依賴包。mysql的終端不同Linux命令終端,這個依賴主要是對於mysql命令界面的支持。
[root@localhost ~ ]# yum install ncurses-devel -y
安裝完成後重新進行預編譯 cmake ……。
四、預編譯完成後,進行編譯和安裝
[root@localhost mysql-5.5.20 ]# make -j4 && make install
這是一段漫長的等待……大佬們穩住……
五、進行mysql配置的拷貝
[root@localhost ~]# cd /usr/local/mysql55 ##進入MySQL的主配置目錄 [root@localhost mysql55]# \cp -f support-files/my-large.cnf /etc/my.cnf ##cp mysql主配置文件,mysql 程式預設讀取的配置 [root@localhost mysqql55]# \cp -f support-files/mysql.server /etc/init.d/mysqld ##cp mysql的啟動腳本到/etc/init.d/ "\" 參數強制複製
六、系統服務的創建
[root@localhost mysql55]# chkconfig --add mysqld ##mysqld 程式加入service 管理程式,加入系統服務 [root@localhost mysql55]# chkconfig --level 35 mysqld ##執行mysqld 的開機自啟
七、創建數據目錄
[root@localhost mysql55]# mkdir -p /data/mysql
八、創建mysql用戶
[root@localhost mysql55]# useradd mysql
九、進行數據初始化,創建預設mysql的資料庫的數據(用戶 表、測試表、系統表)
[root@localhaost mysql55]# /usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ -basedir=/usr/local/mysql55/
十、鏈接MySQL啟動文件
[root@localhaost mysql55]# ln -s /usr/local/mysql55/bin/* /usr/bin/
十一、啟動MySQL
[root@localhost ~]# service mysqld start
Starting MySQL.. SUCCESS!