本地 Windows MySQL,Putty 連 Linux 跳板機,再用 JDBC/客戶端連回 Windows MySQL,報:
java.net.SocketException: Connection timed out
Windows XP/7/10 內建防火牆預設封鎖 3306 埠入站。網路上常見「授權表 host=%、grant all」等資料庫層面方案均無效,因封包根本到不了 mysqld。
3306。netsh advfirewall firewall add rule name="MySQL 3306" dir=in action=allow protocol=TCP localport=3306
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT / firewall-cmd --add-port=3306/tcp --permanent。bind-address=0.0.0.0 (或具體 IP),重啟服務。# 客戶端機器
telnet 3306
nc -zv 3306
# 顯示 Connected / succeeded 即通
REQUIRE SSL)。下次遇到「Connection timed out」,先查防火牆,再查授權表,事半功倍。