CentOS6.5-源碼編譯安裝最新MySQL5.7.10

接着使用YUM方式安裝mysql後,本文將介紹下在CentOS6.5 64位虛擬機上通過編譯源碼安裝MYSQL5.7.10服務。


環境:

OS: CentOS6.5 x86_64 最小化安裝
CPU: 1
MEM: 1G

注:上面的CPU/MEM參數太小了,編譯時間會很長,很長...


1. 準備編譯安裝依賴環境

shell> yum install gcc gcc-c++ cmake ncurses ncurses-devel -y
# 5.7.5後,依賴boost工具,GEO支持
shell> wget # 解壓,可選擇安裝或不安裝;若不安裝則在編譯mysql時需添加參數制定boost目錄
# 我們這裏不安裝,直接解壓到./boost_1_59_0即可
shell> tar zxf boost_1_59_0.tar.gz


2. 創建mysql用戶

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql


3. 下載源碼安裝包並解壓

shell> wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
shell> tar zxf mysql-5.7.10.tar.gz


4. 編譯安裝

# 下面的參數在MYSQL官方文檔上均有說明,若有不清楚的請移步查看

shell> cd mysql-5.7.10
shell> cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
       -DMYSQL_DATADIR=/data/mysql \
       -DDOWNLOAD_BOOST=1 \
       -DWITH_BOOST=../boost_1_59_0 \
       -DSYSCONFDIR=/etc \
       -DDEFAULT_CHARSET=utf8mb4 \
       -DDEFAULT_COLLATION=utf8mb4_unicode_ci
shell> make # 若你爲虛擬機分配了多核CPU,則可以加上j參數,啓用多核編譯;這裏比較耗時
shell> make install
shell> cd /usr/local/mysql

# mysql base目錄權限設置
shell> chown -R mysql .
shell> chgrp -R mysql .

# 初始化: --initialize指將生成一個隨機root密碼;--initialize-insecure指不生成root密碼
shell> bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
shell> chown -R root .
shell> chown -R mysql /data/mysql


5. 編譯安裝完成後,啓動服務

shell> bin/mysqld_safe --user=mysql & # 到這裏,一般情況下可以成功


6. 使用mysql的服務管理文件mysql.server配置mysql爲系統服務

shell> support-files/mysql.server stop
shell> cp support-files/mysql.server /etc/init.d/mysqld
shell> chmod +x /etc/init.d/mysqld
shell> chkconfig --add mysqld
shell> chkconfig --level 345 on
shell> chkconfig --list
shell> ln -s /etc/rc.d/init.d/mysqld /etc/init.d/mysqld
# 嘗試啓動
shell> service mysqld start  # 啓動
## 輸出
Starting MySQL. SUCCESS!
shell> service mysqld status # 查看運行狀態
## 輸出
SUCCESS! MySQL running (1303)
shell> service mysqld stop   # 停止服務
## 輸出
Shutting down MySQL.. SUCCESS!

至此,源碼編譯安裝最新版Mysql服務完成


7. 其他

官方文檔請查看:

http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章