我們在虛擬服務器上有一個原始的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用戶試用了它,只是爲了排除它與應用程序的專用用戶存在一些奇怪的權限問題的可能性。錯誤消息是相同的。
您使用什麼連接IPv4或IPv6? – 2014-10-10 12:18:23
據我們所知,它應該是IPv4連接。服務器沒有v6地址。但是,不是使用套接字的本地連接到MySQL實例嗎? – 0xCAFEBABE 2014-10-10 12:20:15