【发布时间】:2014-12-05 14:26:03
【问题描述】:
我们在虚拟服务器上有一个原始的 Debian 7。带有 OpenJDK 1.7.0_65 的 Tomcat7 连接到本地 MySQL 5.5 安装。具有 ColdFusion 核心(Razuna,一个 MAM)的 tomcat 应用程序在安装时抛出此异常:
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:我们已经用 MySQL 根用户进行了尝试,只是为了排除应用程序的专用用户存在一些奇怪的权限问题的可能性。错误信息是一样的。
【问题讨论】:
-
你使用的是IPV4还是IPV6什么连接?
-
据我们所知,它应该是一个 IPv4 连接。服务器没有 v6 地址。但是,无论如何都不是使用套接字与 MySQL 实例进行本地连接吗?
标签: java mysql tomcat jdbc coldfusion