首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MyEclipse 連接 MySQL 失敗常見原因與解決方案

     編輯:MySQL 資料庫相關知識

MyEclipse 連 MySQL 失敗通常歸結為兩類:IDE 配置錯誤或MySQL 權限/網路設定。以下分場景排查。

場景一:連線測試報錯,但命令列可連

現象:DB Browser 新建 MySQL 連線,填入 host/port/db/user/pass,點 Finish 報「Communications link failure」或「Access denied」,但 mysql -u user -p 正常。

排查:

  1. 檢查 MySQL user 表:SELECT User, Host FROM mysql.user;
    若只有 root@localhost,則遠程帳號不存在。
  2. MyEclipse 填的 User name 改為 root(或建立 'user'@'%'),即可連線。
  3. 原因:MySQL 安裝精靈勾選「Modify Security Settings」預設只建 root@localhost。

場景二:ClassNotFoundException: com.mysql.jdbc.Driver

現象:Tomcat 啟動專案報 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver。

誤區:以為是專案缺 JAR,實際上之前專案正常,突然失效。

真相:錯誤堆疊顯示 org.apache.catalina.loader.WebappClassLoader.loadClass,是 Tomcat 8080 埠被佔用/未正常重啟 導致類載入器異常。

解決:netstat -ano | findstr 8080 → taskkill /PID xxx /F → 重啟 Tomcat 即可。

場景三:JDBC URL 寫錯


# 正確範例
jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
# 常見錯誤
jdbc:mysql://localhost:3306/dbname   -- 缺參數導致時區/SSL 警告
jdbc:mysql://127.0.0.1/dbname        -- 缺 port

場景四:驅動版本不匹配

  • MySQL 5.7/8.0 建議用 mysql-connector-java 8.0.x(類名 com.mysql.cj.jdbc.Driver)。
  • 舊專案用 5.1.x(類名 com.mysql.jdbc.Driver),別混用。

場景五:MySQL 8.0 認證插件

MySQL 8.0 預設 caching_sha2_password,舊驅動不支援。
解決:ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'pass'; 或升級驅動到 8.0.13+。

快速自查清單

症狀優先檢查
Access deniedmysql.user Host 欄位、密碼、權限
Communications link failure防火牆、bind-address、skip-name-resolve
ClassNotFoundExceptionTomcat 端口衝突、WEB-INF/lib 驅動 JAR
Public Key Retrieval is not allowedURL 加 allowPublicKeyRetrieval=true 或改 native_password
Time zoneURL 加 serverTimezone=Asia/Shanghai

依清單逐項排查,90% 問題 5 分鐘內解決。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved