无法连接到MySQL-不允许使用主机

无法连接到MySQL-不允许使用主机,mysql,Mysql,我刚刚开始使用Hibernate,当我最终尝试启动web应用程序时,出现以下错误: 2012-nov-14 12:54:23 org.hibernate.tool.hbm2ddl.SchemaExport execute ERROR: HHH000231: Schema export unsuccessful java.sql.SQLException: null, message from server: "Host '192.168.1.7' is not allowed to conne

我刚刚开始使用Hibernate,当我最终尝试启动web应用程序时,出现以下错误:

2012-nov-14 12:54:23 org.hibernate.tool.hbm2ddl.SchemaExport execute
ERROR: HHH000231: Schema export unsuccessful
java.sql.SQLException: null,  message from server: "Host '192.168.1.7' is not allowed to
connect to this MySQL server"
这真令人沮丧。为什么我不是本地主机?什么是192.168.1.7?我可以像对类似问题的回答所建议的那样授予特权,但为什么我不是本地主机呢

我理解这里的问题,hbm2ddl设置被设置为create,因此它想要创建给定的表,但没有从MySQL服务器获得权限

我正在Eclipse中开发struts2/hibernate应用程序,我使用Tomcat,当然还有MYSQL

提前谢谢

编辑:(hibernate.cfg.xml)


com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/clothes
根
根
1.
org.hibernate.dialogue.mysqldialogue
真的
创造

在MySQL实例上运行此命令(替换令牌)

这将允许您从任何主机连接到mysql。192.168.1.7是您计算机的ip


如果您想保护您的db实例,请阅读此部分。

查看您的hibernate配置文件。有一个带有

必须更改此项才能连接到本地主机上的mysql

接下来看看mysql。连接到mysql并检查权限:

$mysql-u root-p
mysql>显示“根用户”@“本地主机”的授权
mysql>为'root'@'192.168.1.7'显示授权

如果没有相应数据库或表的授权,请添加它们:

mysql>将衣服上的所有特权授予由“密码”标识的“root”@“localhost”

mysql>授予衣服上的所有特权。*到“root”@“192.168.1.7”,由“password”标识

然后

mysql>刷新权限


您需要执行以下几个步骤:

步骤1:在my.conf上进行一些配置

sudo vi /etc/mysql/my.cnf
bind-address = 0.0.0.0
步骤2:转到mysql命令((“您的远程ip”是要访问mysql的pc))

步骤3:您可以在mysql上检查它的配置

use mysql;

select user, host from user;
步骤4:重新启动mysql

sudo /etc/init.d/mysql restart

jdbc:mysql://localhost:3306/clothes 已经是localhost了,你可以在上面的问题帖子中查看编辑,我不认为错误在那里,请检查它@约翰:一切看起来都很正常,这里没有什么意外。下一步是检查mysql配置。我在192.168.1.7上没有授权,但是我如何作为本地主机而不是192.168.1.7连接?@Verdagon您必须查看hibernate配置文件。属性
connection.url
告诉您,客户端试图通过哪个接口连接到mysql服务器。什么是我的计算机的ip?我的计算机在我的家庭网络中的Ip?是否没有办法改为以本地主机连接?
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'your_mysql_username'@'your_remote_ip'IDENTIFIED BY 'your_mysql_password' WITH GRANT OPTION;
use mysql;

select user, host from user;
sudo /etc/init.d/mysql restart