首页 文章

还有一个“拒绝用户访问”错误..但我可以从命令行直接登录到远程服务器

提问于
浏览
1

Java 1.7 Spring 3.1.1 with Spring-WS 2.1.1 Joda Hibernate 3.6 MySQL 5.0.51a Maven 3 Tomcat 7 Eclipse 3.7

问候所有......

另一个'访问被拒绝用户'foo'@'localhost'错误被我的webapp抛出,但有一个扭曲 .

我在我的(duh)本地机器上运行MySQL实例进行开发,在我的远程服务器上运行另一个实例 .

两个实例都有一个数据库'mydb'和两个具有相同名称和结构的表 .

在本地实例上,我使用root .

在远程机器上,我发出了以下顺序:

CREATE USER 'fubar'@'localhost' IDENTIFIED BY 'mypwd';
CREATE USER 'fubar'@'%' IDENTIFIED BY 'mypwd';
CREATE USER 'fubar'@'my.remote.server.com' IDENTIFIED BY 'mypwd';
GRANT ALL ON mydb.* TO ' CREATE USER 'fubar'@'localhost' IDENTIFIED BY 'mypwd';               
GRANT ALL ON mydb.* TO ' CREATE USER 'fubar'@'%' IDENTIFIED BY 'mypwd';               
GRANT ALL ON mydb.* TO ' CREATE USER 'fubar'@'my.remote.server.com' IDENTIFIED BY 'mypwd';               
FLUSH PRIVILEGES;

我已经用'select * from mysql.db'确认出现了三个新行,并且所有相应的字段都有'Y'值 .

在命令提示符窗格中的本地计算机上,我可以发出:

mysql -u fubar -p -h my.remote.server.com ,

回复密码并连接到远程数据库 .

当url被调整为指向远程服务器时,执行我的java程序失败了着名的'拒绝用户'fubar'@'localhost'

在Eclipse项目中将以下内容用作db.properties文件的一部分:

hibernate.connection.url=jdbc:mysql://localhost:3306/mydb
hibernate.connection.username=root
hibernate.connection.password=myrootpwd

执行效果很好

使用它时,执行失败并带有可怕的错误:

hibernate.connection.url=jdbc:mysql://my.remote.servier.com:3306/mydb
hibernate.connection.username=fubar
hibernate.connection.password=mypwd

所以我很难过 . 如何使用命令行直接连接到MySQL服务器的远程实例,而不是在我的db.properties文件中?

TIA,

还在学习史蒂夫

1 回答

相关问题