CentOS7安裝Mysql5.6



準備篇

       一、配置防火牆,開啓80端口、3306端口

CentOS 7.0默認使用的是firewall作爲防火牆,這裏改爲iptables防火牆。

1、關閉firewall

systemctl stopfirewalld.service #停止firewall

systemctl disablefirewalld.service #禁止firewall開機啓動

2、安裝iptables防火牆

yum installiptables-services #安裝

vi/etc/sysconfig/iptables #編輯防火牆配置文件

# Firewall configurationwritten by system-config-firewall

# Manual customizationof this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state--state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -jACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state--state NEW -m tcp -p 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! #保存退出

systemctl restartiptables.service #最後重啓防火牆使配置生效

systemctl enableiptables.service #設置防火牆開機啓動

、系統約定

軟件源代碼包存放位置:/usr/local/src

源碼包編譯安裝位置:/usr/local/軟件名字

四、下載軟件包

1、下載MySQL

http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.19.tar.gz

2、下載cmakeMySQL編譯工具)

http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz

五、安裝篇

一、安裝MySQL

1、安裝cmake

cd /usr/local/src

tar zxvfcmake-2.8.11.2.tar.gz

cd cmake-2.8.11.2

./configure

make

make install

2、安裝MySQL

首先centos7 已經不支持mysql,因爲收費了你懂得,所以內部集成了mariadb,而安裝mysql的話會和mariadb的文件衝突,所以需要先卸載掉mariadb,以下爲卸載mariadb,安裝mysql的步驟。

 

#列出所有被安裝的rpmpackage 
rpm -qa | grep mariadb

 

#卸載

rpm -emariadb-libs-5.5.37-1.el7_0.x86_64

錯誤:依賴檢測失敗:
        libmysqlclient.so.18()(64bit)
(已安裝)postfix-2:2.10.1-6.el7.x86_64 需要
       libmysqlclient.so.18(libmysqlclient_18)(64bit)
(已安裝)postfix-2:2.10.1-6.el7.x86_64 需要

 

#強制卸載,因爲沒有--nodeps

rpm -e --nodepsmariadb-libs-5.5.37-1.el7_0.x86_64

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 zxvfmysql-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數據庫存放目錄

service mysqld start #啓動

vi /etc/profile #mysql服務加入系統環境變量:在最後添加下面這一行

exportPATH=$PATH:/usr/local/mysql/bin

source /etc/profile

下面這兩行把myslq的庫文件鏈接到系統默認的位置,這樣你在編譯類似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次密碼

Mysql就此安裝完畢,但是安裝完成後只能本機登錄 不能遠程登錄需要修改表來添加外部登陸權限

解決方法:

1 改表法。

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

2. 授權法。

例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

如果你想允許用戶myuserip192.168.1.6的主機連接到mysql務器,並使用mypassword作爲密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIEDBY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

如果你想允許用戶myuserip192.168.1.6的主機連接到mysql服務器dk數據庫,並使用mypassword作爲密碼

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

另外一種方法,不過我沒有親自試過的,csdn.net上找的,可以看一下.

在安裝mysql的機器上運行:

1d:\mysql\bin\>mysql  -h   localhost   -u   root //這樣應該可以進入MySQL服務器

2mysql>GRANT  ALL   PRIVILEGES   ON   *.*  TO   'root'@'%'   WITH   GRANT   OPTION//賦予任何主機訪問數據的權限

3mysql>FLUSH  PRIVILEGES //修改生效

4mysql>EXIT//退出MySQL服務器

這樣就可以在其它任何的主機上以root身份登錄啦!

 

 

 

 

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