Linux下mysql編譯安裝教程
#查看linux發行版本號
cat /etc/issue
#查看linux內核版本
uname -r
本文測試環境centOS6.6
在線安裝編譯源碼所需的工具和庫(無法聯網的話要事先准備軟件,或者系統盤)
yum install gcc gcc-c++ ncurses-devel perl
從mysql5.5起源代碼編譯需要借助cmake這款編譯工具。從http://www.cmake.org下載cmake源碼並編譯安裝。
wget http://www.cmake.org/files/v3.3/cmake-3.3.0.tar.gz
tar -xzvf cmake-3.3.0.tar.gz
cd cmake-3.3.0
./bootstrap ; make ; make install
cd ~
新增mysql用戶組,新增mysql用戶
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /usr/local/mysql
mkdir -p /data/mysqldb
可以事先從http://dev.mysql.com/downloads/mirrors.html選擇一個鏡像去下載源碼文件,也可以直接在線下載。
wget ftp://mirror.csclub.uwaterloo.ca/mysql/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
(下載源可以自己設置)
tar -zxv -f mysql-5.6.25.tar.gz
cd mysql-5.6.25
從mysql5.5起,mysql源碼安裝開始使用cmake了,設置源碼編譯配置腳本。
進入解壓好的mysql目錄執行
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
注:如要重新運行配置,需要刪除CMakeCache.txt文件(rm CMakeCache.txt)
接著運行命令
make
make instal
附編譯參數簡介:
-DCMAKE_INSTALL_PREFIX=dir_name 設置mysql安裝目錄
-DMYSQL_UNIX_ADDR=file_name 設置監聽套接字路徑,這必須是一個絕對路徑名。默認為/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name 設置服務器的字符集。缺省情況下,MySQL使用latin1的(CP1252西歐)字符集。cmake/character_sets.cmake文件包含允許的字符集名稱列表。
-DDEFAULT_COLLATION=collation_name 設置服務器的排序規則。
以下是存儲引擎選項:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
MyISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,並不需要明確地安裝。靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name 設置mysql數據庫文件目錄
-DMYSQL_TCP_PORT=port_num 設置mysql服務器監聽端口,默認為3306
-DENABLE_DOWNLOADS=bool 是否要下載可選的文件。例如,啟用此選項(設置為1),cmake將下載谷歌所使用的測試套件運行單元測試。
修改mysql安裝目錄
cd /usr/local/mysql
chown -R mysql:mysql .
修改mysql數據庫文件目錄
cd /data/mysqldb
chown -R mysql:mysql .
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
vim /etc/profile
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
source /etc/profile
service mysql start
chkconfig --level 35 mysql on
可以查看mysql是否啟動
netstat -tulnp | grep 3306
mysql -u root -p
第一次登錄密碼為空,如果能登陸上,則安裝成功。
設置用戶root的密碼
mysqladmin -u root password '123456'
再次進行登錄測試
mysql -uroot -p123456