Mysql

無法通過Tomcat或外部通過JDBC連接器連接mysql

  • August 22, 2013

我已經安裝了一個庫存 mysql 5.5 安裝,雖然我可以通過 mysql 命令連接到 mysql 服務,並且該服務似乎正在執行,但我無法通過 spring+tomcat 或外部 jdbc 連接器連接到它。

我正在使用以下網址:

jdbc:mysql://myserver.com:myport/mydb

使用正確的使用者名/密碼,但我收到以下消息:

server.com: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. the driver has not received any packets from the server.

和tomcat拋出:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
   sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

這似乎與我嘗試外部連接的問題相同。

這可能由於多種原因而發生。幾週前我自己才看到它,但我不記得修復了什麼。

1)驗證mysql綁定的地址,它可能是127.0.0.1(僅),我認為這是預設的(至少在標準的Ubuntu伺服器上)。您必須註釋掉 my.cnf 中的 bind-address 參數才能綁定到所有可用地址(您不能選擇多個,它是一個或全部)。

  1. 如果它綁定到 127.0.0.1 並且您無法使用“localhost”連接,請確保它沒有解析為 IPv6 localhost 地址而不是 IPv4。(或僅使用 IP 地址)

3)雙重和三重檢查mysql正在偵聽的埠。

  1. 確保您為 JDK 使用了正確的 JDBC 連接器。

  2. 確保你沒有做一些非常愚蠢的事情,比如使用 –skip-networking 啟動 mysql。

我認為我的第一個建議最有希望……事實上我認為這是我最近看到它的地方……我試圖遠端連接到 mysql(也在 Ubuntu 8.04 上)。

引用自:https://serverfault.com/questions/89955