一、報錯
telnet 119.87.111.79 3306
??“無法打開到主機的連接。在端口 3306: 連接失敗
”?? 表明無法通過 TCP 協議連接到目標服務器的 3306 端口。
二、目的
(1)??Telnet 測試的目的??
Telnet 僅用于測試 ??TCP 端口是否開放??,不涉及 MySQL 協議。
如果 Test-NetConnection 或 Telnet 顯示端口連通,但 MySQL 仍無法連接,需檢查:
①MySQL 用戶權限(是否允許遠程登錄)。
②防火墻或云服務器安全組配置。
(2)??為什么需要測試端口???
如果 telnet 119.87.111.79 3306 失敗,可能的原因包括:
①防火墻阻止了 3306 端口。
②服務器未監聽 3306 端口(需檢查 netstat -an)。
③網絡路由問題(如 NAT 或 VPN 配置錯誤)。
三、原因
由于Telnet 測試沒通過,可以排查以下原因
(1)??目標服務器防火墻/安全組未開放 3306 端口??
遠程服務器(119.87.111.79)的防火墻或云服務商的安全組可能阻止了 3306 端口的入站連接。
??本地服務器??:
在遠程服務器上執行以下命令,確認防火墻允許 3306 端口:
確認防火墻規則是否生效?
?步驟 1:檢查規則列表
netsh advfirewall firewall show rule name="Open MySQL 3306"
??預期輸出??:
規則名稱: Open MySQL 3306
方向: 入站
操作: 允許
協議: TCP
本地端口: 3306
(2)??MySQL 服務未監聽遠程 IP??
遠程服務器的 MySQL 配置可能僅綁定在 127.0.0.1(本地環回地址),而非 0.0.0.0(所有網絡接口)。
在遠程服務器上執行??:
netstat -an | findstr 3306
??期望輸出??:
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
如果顯示 127.0.0.1:3306,需修改 MySQL 配置文件(my.cnf):
[mysqld]
bind-address = 0.0.0.0
重啟 MySQL 服務。
(3)??網絡路由問題??
本地網絡或中間網絡設備(如路由器、企業防火墻)可能阻止了連接。
嘗試連接其他公共端口(如 HTTP 80 端口)測試本地網絡是否正常:
telnet example.com 80
如果失敗,可能是本地防火墻、VPN 或企業網絡策略阻止了連接。
(4)??目標服務器未運行 MySQL??
遠程服務器可能未安裝 MySQL,或服務未啟動。
??在遠程服務器上執行??:
確認服務正在運行。如果未運行,啟動服務:
net start mysql
(5)?使用 traceroute 檢查網絡路徑?
在本地執行:
tracert 119.87.111.79
查看連接在哪一跳中斷,定位網絡問題。
(6)??檢查 MySQL 用戶權限?
在遠程服務器上登錄 MySQL??:
GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'%' IDENTIFIED BY '密碼';
FLUSH PRIVILEGES;
確保用戶允許從任意 IP(%)連接。
?總結??
??優先檢查遠程服務器的防火墻和安全組??:這是最常見的連接失敗原因。
??確認 MySQL 監聽地址為 0.0.0.0??:確保服務允許遠程連接。
??檢查本地網絡和路由??:排除本地策略或中間網絡問題。
如果以上步驟均無問題,但仍無法連接,請提供以下信息進一步排查:
遠程服務器的操作系統和防火墻配置。
MySQL 錯誤日志(通常位于 /var/log/mysql/error.log 或 data/hostname.err)。
是否通過 VPN 或企業網絡連接?
啊啊啊啊啊啊啊排查不出來,難不成因為遠程MySQL5,本地MySQL8原因??
算了,卸了MySQL5重新來@@(徹底卸載MySQL;MySQL安裝全過程;Mysql8安裝)
續:
本地能訪問,遠程訪問不了MySQL,明明防火墻也關了,MySQL的root用戶也開放權限了,最后的原因就是遠程服務器本身的問題,問管理員服務器的開放端口有哪些@@
遠程服務器壓根沒開放MySQL默認端口3306,所以訪問不到,需要把MySQL默認配置文件my.ini 里默認端口3306改了(改成服務器開放了那些端口,我這邊后來才從管理員那邊知道就開了幾個端口);
改完配置文件兩個地方的端口后,如果MySQL服務啟動不了,兩方面原因:
一個是不是改的端口進程已經被占了,
一個是沒被占說明MySQL 服務未讀取到你修改的 my.ini 文件(我選擇重新卸載再下載默認端口選開放的端口)
如果當初下載MySQL沒修改默認下載路徑的畫, my.ini 文件在這(最新MySQL8這配置文件路徑和以前不一樣):
C:\ProgramData\MySQL\MySQL Server 8.0
我已經第三次下載MySQL了,哈哈哈哈
參照Mysql8安裝
懶人直接全下,卸載的時候多卸幾個
沒有next就一路選execute執行;
該端口啊
安裝完MySQL設置權限,走一下(1)(2)(3)(4)流程
注意報錯ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
,因為端口改為4000了