2014-10-10 60 views
1

我們在虛擬服務器上有一個原始的Debian 7。 Tomcat7與OpenJDK 1.7.0_65連接到本地MySQL 5.5安裝。安裝時使用ColdFusion核心(Razuna,一MAM)一個Tomcat應用程序將引發此異常:來自ColdFusion應用程序的MySQLNonTransientConnectionException

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 

至於放棄尋找這個例外,也有原因的異常本身衆多,所以異常後的消息類型很重要。

我們甩ColdFusion的數據庫連接對象,它看起來像這樣:

struct 
connectionretries 0 
connectiontimeout 120 
connectstring zeroDateTimeBehavior=convertToNull 
databasename razuna 
description [empty string] 
displayname mysql 
drivername com.mysql.jdbc.Driver 
hoststring jdbc:mysql://localhost:3306/razuna?cacheResultSetMetadata=false&autoReconnect=true&useEncoding=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull 
initstring [empty string] 
logintimeout 120 
maxconnections 3 
name mysql 
password [thecorrectpassword] 
perrequestconnections false 
port 3306 
server localhost 
sqldelete true 
sqlinsert true 
sqlselect true 
sqlstoredprocedures true 
sqlupdate true 
username razuna 

看起來不錯。所以我們試圖在MySQL端診斷問題。打開通用日誌後,我們可以看到通用日誌中沒有條目。我們最後想到的是爲Tomcat7用戶提供一個交互式shell,然後嘗試使用相同的參數(主機,端口,用戶,密碼)手動登錄到MySQL,這就像一個魅力一樣。此外,比較同一應用程序在相同環境下工作的另一臺服務器(具有相同提供程序)的軟件時,一切似乎都是相同的:Debian版本,Java版本和風格,Tomcat版本。

我們不知道如何從這裏開始。任何幫助表示讚賞。

編輯1:我們已經用root用戶試用了它,只是爲了排除它與應用程序的專用用戶存在一些奇怪的權限問題的可能性。錯誤消息是相同的。

+0

您使用什麼連接IPv4或IPv6? – 2014-10-10 12:18:23

+0

據我們所知,它應該是IPv4連接。服務器沒有v6地址。但是,不是使用套接字的本地連接到MySQL實例嗎? – 0xCAFEBABE 2014-10-10 12:20:15

回答

0

試試這些解析。任何一個可以幫助你:

  1. 如果您有您的系統上啓用了IPv6,嘗試127.0.0.1而不是localhost

  2. GRANT ALL PRIVILEGES ON *.* TO 'localhost'@'%' IDENTIFIED BY PASSWORD '52819c504481470a' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

+0

只有IPv4,我們可以從ifconfig中看到。 – 0xCAFEBABE 2014-10-10 12:21:26

+0

試過這個後讓我知道。 – 2014-10-10 12:23:39

+0

我已經在上面添加了一些信息。根用戶有同樣的問題,所以它可能不是權限問題。我不確定授予localhost @%的權限實際上會改變任何事情。 – 0xCAFEBABE 2014-10-10 12:31:20

相關問題