繁体   English   中英

专用服务器:为什么我的JAVA应用程序无法连接到我的MySQL数据库?

[英]Dedicated server: why can't my JAVA application connect to my MySQL database?

我在Debian(amd64)下有一个专用服务器。

我使用phpmyadmin和Tomcat 6服务器安装了MySQL数据库,以部署我刚开发的JAVA应用程序。

部署后运行此应用程序时,将引发异常: org.hibernate.exception.GenericJDBCException: Cannot open connection

我以为我的数据库凭证可能是错误的,所以我写了一个小PHP脚本放在远程Apache2服务器上,看它是否可以连接到同一数据库,是的:可以。

这是我的PHP脚本:

$link = mysql_connect('localhost', 'mylogin', 'mypassword');
mysql_select_db('mydatabase', $link);
$query = mysql_query('SELECT * FROM source');
$result = mysql_fetch_array($query);
var_dump($result);

输出是我的source表中条目的列表,好的。 那么,为什么我的JAVA应用程序无法连接到该#@ !?€数据库?

这是我的pom.xml

<jdbc.type>mysql</jdbc.type>
<jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
<jdbc.url>jdbc:mysql://localhost/mydatabase</jdbc.url>
<jdbc.user>mylogin</jdbc.user>
<jdbc.password>mypassword</jdbc.password>
<hibernate.dialect>org.hibernate.dialect.MySQLInnoDBDialect</hibernate.dialect>

我也尝试过

<jdbc.url>jdbc:mysql://localhost:3306/mydatabase</jdbc.url>

<jdbc.url>jdbc:mysql://012.345.678.9:3306/mydatabase</jdbc.url>

但它仍然不起作用...

PS1:它像在我自己​​的计算机上的本地服务器上的超级按钮一样工作。

PS2:一切都在同一台远程计算机上(即MySQL,Tomcat和Apache)。

PS3:我购买了专用于Online的服务器(对于某些人来说可能有点法语...)。

PS4:请随时询问我更多细节,我不知道有什么对您有用,可以帮助我解决该问题...

我想您已经错过了<jdbc.url>port

您可以将URL从<jdbc.url>jdbc:mysql://localhost/mydatabase</jdbc.url><jdbc.url>jdbc:mysql://localhost:port/mydatabase</jdbc.url>

端口主要是3306

您可以在端口上放入MySQL服务器的ip而不是localhost ,我认为它应该可以工作。

可能存在适当的防火墙规则。 在服务器安装上非常常见。

检查是否可以远程登录到mysql端口。 如果不是,请与系统管理员联系。

我终于使用mvn tomcat:deploy部署了它,并且它起作用了。 之前,我是通过Tomcat的manager / html接口上载WAR文件的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM