1. 程式人生 > >centos 7中mysql開啟遠端及開啟3306埠

centos 7中mysql開啟遠端及開啟3306埠

1、開啟遠端訪問:

進入mysql

檢視系統使用者表:

select user,host from user;

MySQL建使用者的時候會指定一個host,預設是127.0.0.1/localhost,那麼這個使用者就只能本機訪問,其它機器用這個使用者帳號訪問會提示沒有許可權,host改為%,表示允許所有機器訪問。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

允許任何ip以root使用者以密碼123456登入

flush privileges;立即生效

CentOS 7.0預設使用的是firewall作為防火牆,這裡改為iptables防火牆。 2、關閉firewall: systemctl stop firewalld.service systemctl disable firewalld.service systemctl mask firewalld.service

3、安裝iptables防火牆 yum install iptables-services -y

4.啟動設定防火牆

# systemctl enable iptables # systemctl start iptables

5.檢視防火牆狀態

systemctl status iptables

6編輯防火牆,增加埠 vi /etc/sysconfig/iptables #編輯防火牆配置檔案 -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 :wq! #儲存退出

7.重啟配置,重啟系統 systemctl restart iptables.service #重啟防火牆使配置生效 systemctl enable iptables.service #設定防火牆開機啟動

檢查技巧:

1.排除網路或防火牆問題 

先看是否能ping通遠端伺服器,ping 192.168.1.211,如果不可以就是網路問題。然後,檢查埠是否被防火牆擋住了,telnet 192.168.1.211 3306,如果連線失敗,配置防火牆。 配置防火牆,開啟3306埠

2.檢查MySQL配置

如果開啟了防火牆,telnet還是失敗,通過netstat檢視3306的埠狀態:

netstat -apn|grep 3306
tcp6  0  0 127.0.0.1:3306  :::*  LISTEN    13524/mysqld