關於mysql伺服器3306埠不能遠端連線的解決

2021-08-02 03:33:24 字數 1232 閱讀 3302

問題:本機可以通過3306埠連線mysql伺服器,但遠端不行。

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只監聽本機位址(繫結了到了本地),所以遠端無法訪問。

對於埠只允許本機訪問,有兩個地方啟用,乙個是防火牆啟用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)或者直接關閉防火牆;

參考: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改為%,表示允許所有機器訪問。

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...

mysql伺服器3306埠不能遠端連線的解決

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...

mysql 伺服器端關於使用者連線方面的

最近在對新版本的sqlproxy進行效能與壓力的測試,這裡記錄一下測試過程碰到的關於mysql伺服器端使用者連線方面的限制。1.max allowed packet 服務端允許的最大包長度。預設情況下,mysqld會把它初始化為net buffer length 最大值為1m 的大小,所以如果操作的...