首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 連接 MySQL 測試報錯:數據庫名稱錯誤導致連接失敗

     編輯:程式設計疑難解答

錯誤現象

用戶在測試 Java 連接 MySQL 時保存配置報錯,截圖不可見,但根據經驗判斷極大概率是連接 URL 中的數據庫名稱拼寫錯誤或不存在。

典型錯誤信息

java.sql.SQLException: Unknown database 'wrong_db_name'
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    ...

或

Communications link failure ... (若主機/端口錯誤)
Access denied for user ... (若用戶/密碼錯誤)

排查步驟

  1. 登錄 MySQL 確認數據庫存在:
    mysql -u root -p
    SHOW DATABASES;
    -- 確認目標數據庫在列表中,注意大小寫敏感(Linux 下)
    
  2. 檢查連接 URL:
    // 正確格式
    jdbc:mysql://host:3306/exact_db_name?useSSL=false&serverTimezone=Asia/Shanghai
    // 常見錯誤:多空格、中文冒號、拼寫錯誤、缺少數據庫名
    
  3. 驗證用戶對該庫權限:
    SHOW GRANTS FOR 'user'@'host';
    -- 確保有 USAGE, SELECT, INSERT 等權限
    

快速修正示例

// 錯誤
String url = "jdbc:mysql://localhost:3306/mydb ";
// 正確
String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=Asia/Shanghai";

最佳實踐

  • 配置文件中使用佔位符,構建時注入:${mysql.url}
  • 啟動項目前編寫單元測試驗證連接:try (Connection c = DriverManager.getConnection(url, user, pass)) { assertNotNull(c); }
  • 使用連接池(HikariCP、Druid)管理連接,自帶驗證查詢 SELECT 1。

總結

「數據庫名錯了」是連接失敗的高頻原因。請直接在 MySQL 客戶端執行 SHOW DATABASES; 核對名稱,修正 URL 即可解決。

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