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 回答
我遇到了同样的问题以及创建整个问题的错误密码......
您可以使用以下链接中的独立Java程序代码来测试您的连接,并确保它首先工作...
http://www.mkyong.com/jdbc/how-to-connect-to-mysql-with-jdbc-driver-java/