MySQL遠程鏈接不上的解決方法

這篇文章主要爲你們詳細介紹了MySQL遠程鏈接不上的解決方法,具備必定的參考價值,感興趣的小夥伴們能夠參考一下
 

以前遇到過MySQL本地能夠鏈接可是遠程連不上的問題,沒有記錄,今天在雲上新申請的服務器上又遇到這個問題,記錄一下解決過程。mysql

1.排除網絡或防火牆問題sql

先看是否能ping通遠程服務器,ping 192.168.1.211,若是不能夠就是網絡問題。而後,檢查端口是否被防火牆擋住了,telnet 192.168.1.211 3306,若是鏈接失敗,配置防火牆。
配置防火牆,開啓3306端口bash

vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(容許3306端口經過防火牆)
/etc/init.d/iptables restart(重啓防火牆使配置生效)

2.檢查MySQL配置
服務器

若是開啓了防火牆,telnet仍是失敗,經過netstat查看3306的端口狀態:網絡

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

注意地方,這說明3306被綁定到了本地。檢查一下my.cnf的配置,這裏能夠配置綁定ip地址。
bind-address=addr
不配置或者IP配置爲0.0.0.0,表示監聽全部客戶端鏈接。
ps:我開啓3306端口,而且檢查MySQL配置以後,telent仍然失敗,可是在本機telnet是ok的,再三確認了配置沒有問題。後來跟咱們的ucloud帳號管理員提了一下,才知道ucloud管理後臺也須要開啓3306端口,用雲服務器的留意這個。tcp

3.檢查用戶訪問權限
rest

MySQL建用戶的時候會指定一個host,默認是127.0.0.1/localhost,那麼這個用戶就只能本機訪問,其它機器用這個用戶賬號訪問會提示沒有權限,host改成%,表示容許全部機器訪問。code

最後,別忘了重啓mysql使配置生效。ip

4.仍然鏈接不上,新增用戶並受權it

CREATE USER 'root'@'%' IDENTIFIED BY 'root';

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

# /etc/init.d/mysql restart
相關文章
相關標籤/搜索