1、網路檢測
1)ping主機可以;
2)telnet 主機3306埠不可以;
telnet 主機22埠可以;
說明與本機網路沒有關係;
2、埠檢測
1)netstat -ntpl |grep 3306
tcp 0 0 :::3306 :::* listen -
2)netstat -ntpl |grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* listen -
可以看出22埠監聽所有位址,而3306只監聽本機位址(繫結了到了本地),所以遠端無法訪問。修改my.cnf 中bind-address=0.0.0.0
對於埠只允許本機訪問,有兩個地方啟用,乙個是防火牆啟用3306,乙個就是mysql配置繫結本機位址。
3、防火牆檢測
1)iptables --list檢視;
2)開啟防火牆3306埠
vi /etc/sysconfig/iptables
-a input -m state –state new -m tcp -p tcp –dport 3306 -j accept(允許3306埠通過防火牆)
/etc/init.d/iptables restart(重啟防火牆使配置生效)
3)或者直接關閉防火牆; 參考:
centos 7 以後是修改 firewall
systemctl start firewalld # 啟動,
systemctl enable firewalld # 開機啟動
systemctl stop firewalld # 關閉
systemctl disable firewalld # 取消開機啟動
4、mysql配置檔案檢查
檢查my.cnf的配置,bind-address=addr可以配置繫結ip位址。
不配置或者ip配置為0.0.0.0,表示監聽所有客戶端連線。
#ps -aux | grep mysql 檢視程序id是3340
#ll /proc/3340 檢視程序程式情況,找配置檔案
或者#which mysql 找程式路徑
5、mysql使用者訪問許可權
進入mysql資料庫
$mysql -u root -p
>use mysql;
>select host,user from user;
mysql建使用者的時候會指定乙個host,預設是127.0.0.1/localhost只能本機訪問;
其它機器用這個使用者帳號訪問會提示沒有許可權,host改為%,表示允許所有機器訪問。
Linux伺服器連線不上3306埠,解決
一般連線遠端的 mysql 3306埠 連線不上有3種原因 本機上防火牆沒有開放3306埠,需要自己配置入站規則,或者關閉本機防火牆。linux 伺服器上的 iptables 防火牆沒有開放3306埠,或者關閉伺服器上的防火牆。開啟 etc sysconfig iptables 在 a input ...
關於mysql伺服器3306埠不能遠端連線的解決
問題 本機可以通過3306埠連線mysql伺服器,但遠端不行。1 網路檢測 1 ping主機可以 2 telnet 主機3306埠不可以 telnet 主機22埠可以 說明與本機網路沒有關係 2 埠檢測 1 netstat ntpl grep 3306 tcp 0 0 3306 listen 2 n...
mysql伺服器3306埠不能遠端連線問題
一,網路監測 平主機可以 telnet主機3306埠不可以 telnet主機22埠可以 說明與本機網路沒有關係 二,埠檢測 netstat ntpl grep 3306 tcp 0 0 3306 listen netstat ntpl grep 22 tcp 0 0 0.0.0.0 22 0.0.0...