com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
Communication link failure, message from server: "Can't get hostname for your address"
環境:校園網 DHCP,IP 頻繁變化。Oracle JDBC 正常,MySQL 5.6 + mysql-connector-java-5.1.26 失敗。
MySQL 服務屬性 → 登錄身份 默認選「網絡服務」,導致服務無權解析客戶端主機名(反向 DNS 查詢失敗)。
services.msc。skip-name-resolve = OFF,嘗試解析客戶端 IP 對應主機名以做權限匹配(user@host)。my.ini 設 skip-name-resolve=1 禁用解析(需改用 IP 授權賬號)。> mysql -h 127.0.0.1 -u root -p
# 能連上說明服務端無誤,問題在 JDBC 客戶端網絡權限