寫在前面,編譯安裝MySQL的優點:平臺無關、可設定參數按需安裝、安裝的MySQL目錄獨立(方便清楚)、更好的平臺耦合及運行性能(不少運維的觀點);缺點:編譯安裝較慢。php
注:CentOS 7.2默認系統防火牆是firewall,這裏改成iptables防火牆。html
一、關閉firewallmysql
systemctl stop firewalld.service #中止firewalllinux
systemctl disable firewalld.service #禁止firewall開機啓動c++
二、安裝iptables防火牆sql
yum install iptables-services #安裝shell
vi /etc/sysconfig/iptables #編輯防火牆配置文件數據庫
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出,注:「:wq!」命令做用是保存修改並退出Vi(文件全部者忽略文件的只讀屬性)服務器
systemctl restart iptables.service #最後重啓防火牆使配置生效運維
systemctl enable iptables.service #設置防火牆開機啓動
vi /etc/selinux/config
#SELINUX=enforcing #註釋掉 #SELINUXTYPE=targeted #註釋掉 SELINUX=disabled #增長
:wq! #保存退出
setenforce 0 #使配置當即生效
軟件源代碼包存放位置:/usr/local/src
軟件源代碼包存放位置:/usr/local/rpms
源碼包編譯安裝位置:/usr/local/軟件名字
一、下載MySQL
http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.31.tar.gz
二、下載cmake(MySQL編譯工具,也可yum安裝)
http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz
yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel
一、安裝cmake
cd /usr/local/src
tar zxvf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2
./configure
make
make install
二、安裝MySQL
groupadd mysql #添加mysql組
useradd -g mysql mysql -s /bin/false #建立用戶mysql並加入到mysql組且不容許mysql用戶直接登陸系統
mkdir -p /data/mysql #建立MySQL數據庫存放目錄
chown -R mysql:mysql /data/mysql #設置MySQL數據庫存放目錄權限
mkdir -p /usr/local/mysql #建立MySQL安裝目錄
cd /usr/local/src #切換至軟件包存放目錄
tar zxvf mysql-5.6.19.tar.gz #解壓
cd mysql-5.6.19 #進入目錄
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置
make #編譯
make install #安裝
rm -rf /etc/my.cnf #刪除系統默認的配置文件(若是默認沒有就不用刪除)
cd /usr/local/mysql #切換至MySQL安裝目錄
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系統數據庫
ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目錄的軟鏈接
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把MySQL加入系統啓動
chmod 755 /etc/init.d/mysqld #增長執行權限
chkconfig mysqld on #加入開機啓動
vi /etc/rc.d/init.d/mysqld #編輯
basedir=/usr/local/mysql #MySQL程序安裝路徑 datadir=/data/mysql #MySQL數據庫存放目錄
:wq! #保存退出
systemctl start mysql.service #啓動 (CentOS 6爲 service mysqld start)
vi /etc/profile #把MySQL服務加入系統環境變量,在最後添加下面這行配置
export PATH=$PATH:/usr/local/mysql/bin
:wq! #保存退出
source /etc/profile #使配置馬上生效
下面這兩行把MySQL的庫文件連接到系統默認的位置,這樣在編譯相似PHP等軟件時能夠不用指定MySQL的庫文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
mkdir /var/lib/mysql #建立目錄
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加軟連接
mysql_secure_installation #設置MySQL密碼,根據提示按Y 回車輸入2次密碼
注:以上操做均在Xshell登錄到遠程服務器用命令行操做完成,上傳文件可以使用Xftp上傳至相應文件夾便可。
若是沒法遠程鏈接MySQL Server,則需配置受權下,詳情請見另外一篇博客:MySQL沒法遠程鏈接解決方案
.........................................................................................................................................................................
摘取自系統運維(www.osyunwei.com),原文連接:CentOS 7.0編譯安裝Nginx1.6.0+MySQL5.6.19+PHP5.5.14