MySQL连接适用于Workbench,但不适用于使用相同凭据的Tomcat应用程序

MySQL连接适用于Workbench,但不适用于使用相同凭据的Tomcat应用程序,mysql,database-connection,Mysql,Database Connection,我正在通过SSH开发一个远程Redhat系统Tomcat 7和MySQL 5.5服务器都已安装,并且运行正常 我可以使用localhost和定义的MySQL用户,通过SSH隧道从Workbench的本地安装连接到MySQL。我可以运行查询和导航表而不会发生意外 当我尝试使用工作台成功连接的MySQL定义用户(相同凭据)连接到同一个MySQL服务器时,Tomcat应用程序在同一个环境中运行,失败 在这一点上,我不知道确切的错误信息,得到生成(我不是一个管理员),所以任何指导在这里是感激的 我的问题

我正在通过SSH开发一个远程Redhat系统
Tomcat 7
MySQL 5.5
服务器都已安装,并且运行正常

我可以使用
localhost
和定义的MySQL用户,通过SSH隧道从
Workbench的本地安装连接到MySQL。我可以运行查询和导航表而不会发生意外

当我尝试使用工作台成功连接的MySQL定义用户(
相同凭据)连接到同一个MySQL服务器时,Tomcat应用程序在同一个环境中运行,失败

在这一点上,我不知道确切的错误信息,得到生成(我不是一个管理员),所以任何指导在这里是感激的

我的问题是,为什么我可以连接Workbench(它实际上是本地连接),而不能连接Tomcat应用程序,它实际上是服务器的本地应用程序

Tomcat运行的上下文可能存在权限问题

参考文献:

连接字符串示例(凭据已更改):

此外,我已经证实了这一点

mysql-connector-java-5.1.27-bin.jar
位于WEB-INF文件夹中,并且:

Class.forName("com.mysql.jdbc.Driver");
解决


此web应用程序在使用各自凭据连接的另一台服务器上的开发和测试中都可以使用。请确保连接字符串中存在mysql服务器的端口号。通常,如果未指定端口,则默认值将用作3306。也许你的mysql运行在不同的端口上

jdbc:mysql://[host][,failoverhost…][:port]/[database]» [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]


如果未指定主机名,则默认为127.0.0.1。如果未指定端口,则默认为3306,这是MySQL服务器的默认端口号。

我会尝试。然而,MySQL正在服务器上使用默认端口3306,这让我很难过,并且我没有分别在连接成功的开发或测试环境中指定端口。可能MySQL不允许从“@'localhost”(使用密码是)”进行连接。您可能需要更新权限。但这就是工作台用来连接的!?Workbench是否拥有其他进程所没有的特权?您的工作台是否与mysql服务器运行在同一台机器上?也许您正在工作台上使用IP地址?我只是想大声说出来。不-Workbench是
本地的
并且通过SSH隧道连接-所以它作为本地进程有效地连接。它正在使用
@localhost
解析服务器。
Class.forName("com.mysql.jdbc.Driver");