我正在通过SSH使用远程Redhat系统。 Tomcat 7
和MySQL 5.5
服务器都已安装并且似乎正在正常运行。
我可以使用Workbench over SSH tunneling
和定义的MySQL用户从本地安装的localhost
连接到MySQL。我可以毫无意外地运行查询和导航表。
当我尝试使用Workbench成功连接的MySQL定义用户(same credentials
)在相同环境中运行的Tomcat应用程序连接到同一MySQL服务器时,失败 。
此时我不知道生成的确切错误消息(我不是管理员)因此,此处的任何指导都表示赞赏。
我的问题是为什么我可以连接Workbench(它本地有效连接),而不是我的Tomcat应用程序,它实际上是服务器的本地应用程序?
可能是Tomcat运行的上下文的权限问题?
参考文献:
连接字符串示例(凭据已更改):
jdbc:mysql://localhost/mysql_database_name?user=ApplicationUsername&password=ApplicationPassword"
此外,我已经验证了
mysql-connector-java-5.1.27-bin.jar
位于WEB-INF文件夹中,并且:
Class.forName("com.mysql.jdbc.Driver");
解析。
此Web应用程序在使用相应凭据连接的另一台服务器上的dev和test中都有效。
答案 0 :(得分:0)
确保连接字符串中存在mysql服务器的端口号。通常,如果未指定port,则默认值将用作3306.也许您的mysql在不同的端口上运行?
jdbc:mysql:// [host] [,failoverhost ...] [:port] / [database]» [= propertyValue1] [&安培; propertyName2] [propertyName1?] [= propertyValue2] ...
如果未指定主机名,则默认为127.0.0.1。如果未指定端口,则默认为3306,即MySQL服务器的默认端口号。