2010-11-25 36 views
2

我試圖通過網絡連接到MySQL數據庫。我已經安裝了MySQL,並且該服務正在默認端口上運行。我還將SQL連接器安裝到jar文件並將java JDK添加到服務器計算機。我能夠使用的代碼連接到我的本地數據庫:通過網絡使用JDBC連接到MySQL

private String dbUrl = "jdbc:mysql://localhost/DatabaseName"; 
private String dbClass = "com.mysql.jdbc.Driver"; 

但是,當我嘗試連接到它通過網絡,與IP地址(例如:192.168.1.45):

private String dbUrl = "jdbc:mysql://192.168.1.45/DatabaseName"; 
private String dbClass = "com.mysql.jdbc.Driver"; 

我得到連接錯誤:

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

有沒有人知道這個問題是什麼?我需要添加一個不同的地址嗎? 我已經添加了地址的默認端口,但無法讓它工作。

感謝您的任何幫助。

+0

http://forums.mysql.com/read.php?39,199085,204628#msg-204628 – zengr 2010-11-25 12:23:35

回答

2
  1. 檢查參數端口my.cnf中的[mysqld]設置,綁定地址,插座,以確保這些都不是造成問題。
  2. 檢查文件/ etc/hosts,/etc/hosts.deny以確保一切正常。
  3. 檢查防火牆應用程序
  4. 檢查以確保任何目錄mysqld的套接字都具有適當的權限。
  5. 檢查以確保mysql數據庫(用戶表)中的安全設置允許從遠程主機訪問。
  6. 請確保您可以telnet到本地主機3306,127.0.0.1 3306以及您的計算機配置的任何其他IP地址(使用ifconfig查找)。
3

默認情況下,MySQL不允許遠程訪問,只允許本地訪問。 您將有修改/etc/mysql/my.cnf配置(在Linux上):

bind-address = 192.168.1.45 // Your Server IP address 
# skip-networking // This should be commented . 

看到整個過程here

0

您可以使用MySQL Workbench或MySQL客戶端來測試服務器設置,這將縮小問題的範圍。這也是有時可以進去看看服務器的有:

telnet host 3306

它會告訴你的服務器的版本號和其他一些二進制垃圾。足以知道你的主人正在傾聽。