我想用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>
答案 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