【问题标题】:Connection mySQL and hibernate problems连接mySQL和hibernate问题
【发布时间】:2013-12-03 12:15:34
【问题描述】:

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

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

但是使用休眠我不能,我不知道为什么。

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

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

这是我的休眠 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>  

【问题讨论】:

  • 好像mysql数据库被配置为只能从localhost获取访问权限。
  • 您是否已经检查过连接配置和用户权限?
  • 您还需要在连接字符串中添加数据库名称:jdbc:mysql://37.*.*.*:3306/databasename

标签: java mysql hibernate database-connection


【解决方案1】:

您用来连接 kimsufi 服务器的计算机不允许以用户 athos 连接到 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

【讨论】:

    【解决方案2】:

    错误信息很清楚

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-01-13
      • 1970-01-01
      • 2013-05-28
      • 2011-02-21
      • 1970-01-01
      • 2015-01-07
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多