连接mySQL和hibernate问题

时间:2013-12-03 12:15:35

标签: java mysql hibernate database-connection

我想用Java连接一个项目与hibernate和mySQL数据库。 我租用服务器到Ovh(在ubuntu服务器上配置kimsufi并配置mysql);

我可以从远程计算机39连接到phpmyadmin。。* / phpmyadmin,创建数据库表等...

但是对于休眠,我不能,我也不知道为什么。

当我启动应用程序时,它会引发错误:

警告:SQL错误:1130,SQLState:HY000 3déc。 2013 13:09:45 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions 错误:null,来自服务器的消息:“主机'ALyon-654-1-427-15.w109-212.abo.wanadoo.fr'不允许连接到此MySQL服务器” 线程“main”中的异常org.hibernate.exception.GenericJDBCException:无法打开连接

这是我的hibernate cfg文件:

<!-- <?xml version="1.0" encoding="UTF-8"?> -->
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >

<hibernate-configuration>  
<session-factory>  
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
    <property name="hibernate.connection.username">athos</property>  
    <property name="hibernate.connection.password">*******</property>  
    <property name="hibernate.connection.url">jdbc:mysql://37.*.*.*:3306</property>  
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>  
    <property name="show_sql">true</property>   
    <property name="connection.pool_size">1</property>  

    <mapping class="fr.javatp.model.Client"></mapping>  

</session-factory>  
</hibernate-configuration>  

2 个答案:

答案 0 :(得分:1)

您用来连接kimsufi服务器的计算机不允许以用户身份连接到mysql数据库。可以找到详细的文章here。实质上,您使用GRANT命令授予适当的权限:

GRANT ALL ON yourdb.* TO athos@'1.2.3.4' IDENTIFIED BY 'my_password';

但当然,这不适用于动态住宅连接。

或者,您可以通过计算机和kimsufi服务器之间的ssh隧道转发流量,甚至可以在kimsufi服务器上设置OpenVPN服务器。

在我看来,这两个选项在安全方面都比设置phpMyAdmin要好得多。

最后但并非最不重要的是,将数据库名称添加到JDBC URL:

jdbc:mysql://37.*.*.*:3306/yourdbnameshouldgohere

答案 1 :(得分:0)

错误信息非常清楚

  

“主持人'ALyon-654-1-427-15.w109-212.abo.wanadoo.fr'不允许   连接到这个MySQL服务器“。

这意味着不允许主机连接到远程SQL数据库。 您需要允许您的主机通过phpMyadmin进行远程连接(如果可以使用OVH。我不确定!)

http://supportcenter.verio.com/KB/questions.php?questionid=494