一、查看操作系統環境和目錄結構,並創建mysql用戶和組,以及規划安裝mysql所需要的目錄。
#cat /etc/issue
查看發行版本信息:
#cat /proc/version
查看正在運行的內核版本信息
#uname -a
查看電腦以及操作系統的相關信息。
#df -Th
查看系統目錄結構和存儲空間分配情況
創建組:
#sudo groupadd mysql
創建用戶並指定用戶所屬組:
#sudo useradd -r -g mysql mysql
創建mysql的安裝目錄:
#mkdir -p /usr/local/mysql5727/installdir
創建mysql的數據存放目錄:
#mkdir -p /usr/local/mysql5727/datadir/3306/data
創建mysql的源碼存放目錄:
#mkdir -p /usr/local/mysql5727/src
創建mysql的日志存放目錄:
#mkdir -p /usr/local/mysql5727/logdir/3306
二、安裝准備工具
1、安裝cmake工具,因為MySQL是使用cmake可跨平台生成makefile文件工具。
#sudo apt-get install cmake
2、安裝bison工具,它是Linux下C/C++語法分析器。
#sudo apt-get install bison
3、安裝gcc工具,Linux下C語言編譯工具,mysql源碼編譯由C和C++編寫(Ubuntu默認已裝)
#sudo apt-get install gcc
4、安裝ncurses工具,因為它是字符終端處理庫。
#sudo apt-get install libncurses5-dev
三、下載mysql和mysql-boost
下載:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
這里需要下載上面兩個文件,一個是mysql,另一個是mysql-boost,其中mysql-boost是mysql的依賴,必須下載。然后解壓這兩個文件時,不要解壓到同一個文件中去了,因為這兩者的解壓目錄相同,故會解壓到同一個文件中合並了。
四、解壓mysql和mysql-boost文件
#sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5727/installdir -DMYSQL_DATADIR=/usr/local/mysql5727/datadir/3306/data -DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=ON -DSYSCONFDIR=/etc -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/mysql5727/src/mysql-boost
解釋:
DCMAKE_INSTALL_PREFIX:指定MySQL程序的安裝目錄,默認/usr/local/mysql
DEFAULT_CHARSET:指定服務器默認字符集,默認latin1
DEFAULT_COLLATION:指定服務器默認的校對規則,默認latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允許本地執行LOAD DATA INFILE,默認OFF
WITH_COMMENT:指定編譯備注信息
WITH_xxx_STORAGE_ENGINE:指定靜態編譯到mysql的存儲引擎,MyISAM,MERGE,MEMBER以及CSV四種引擎默認即被編譯至服務器,不需要特別指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不編譯的存儲引擎
SYSCONFDIR:初始化參數文件目錄
MYSQL_DATADIR:數據文件目錄
MYSQL_TCP_PORT:服務端口號,默認3306
MYSQL_UNIX_ADDR:socket文件路徑,默認/tmp/mysql.sock
-DWITH_BOOST:指定解壓后的mysql-boost目錄
用cmake配置mysql預編譯參數:
-DCMAKE_INSTALL_PREFIX:安裝路徑
-DMYSQL_DATADIR:數據存放目錄
-DWITH_BOOST:boost源碼路徑
-DSYSCONFDIR:my.cnf配置文件目錄
-DEFAULT_CHARSET:數據庫默認字符編碼
-DDEFAULT_COLLATION:默認排序規則
-DENABLED_LOCAL_INFILE:允許從本文件導入數據
-DEXTRA_CHARSETS:安裝所有字符集
#sudo make -j 2
#make install
配置mysql:
初始化數據庫: