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