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

JDBC 連線 MySQL 5.0 驅動版本不相容問題排查

     編輯:MySQL 資料庫相關知識

錯誤現象

Communication failure during handshake.
Is there a server running on localhost:3306?

環境:MySQL 5.0.18,使用舊版驅動 mm.mysql-2.0.4-bin.jar。服務正常運行,但連線失敗。

根因分析

驅動程式版本過舊。mm.mysql 為早期第三方驅動,不支援 MySQL 4.1+ 引入的新認證協定與功能。MySQL 官方已整合為 MySQL Connector/J。

解決方案

  1. 下載對應版本官方驅動:mysql-connector-java-5.0.8-bin.jar(或更新版本)
  2. 替換專案中的 JAR 檔
  3. 連線字串範例:
    jdbc:mysql://localhost/test?user=root&password=xxxxx&useUnicode=true&characterEncoding=8859_1
  4. 驅動類別名稱更新為:com.mysql.jdbc.Driver(舊版為 org.gjt.mm.mysql.Driver)

官方驅動特性說明

MySQL Connector/J 是 JDBC Type 4 驅動(純 Java 實作 MySQL 協定,無需客戶端庫)。提供符合 JDBC 3.0/4.0 規範的不同版本。

避坑指南

  • 專案升級 MySQL 版本時,同步更新 JDBC 驅動
  • 生產環境建議使用官方 Connector/J,避免第三方舊驅動相容性問題
  • 連線參數加上 autoReconnect=true 增強穩定性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved