2014-01-28 45 views
3

我已经在我的MySQL数据库中创建用户:访问被拒绝的用户“用户” @“主机”(使用密码:YES)

CREATE USER 'user'@'host' IDENTIFIED BY 'password'; 

我已授予该用户完全权限:

GRANT ALL ON *.* to 'user'@'host'; 

呼应批:

GRANT ALL PRIVILEGES ON *.* TO 'user'@'host' IDENTIFIED BY PASSWORD '*03FFC888F82E921D8CA360925A8F443CF326DE89' 

我可以从MySQL workbench使用此登录凭证W/O型的任何问题连接并执行查询。它运行在运行Web应用程序的同一台计算机上。 MySQL实例正在同一本地网络中的另一台计算机上运行。

但是,当我尝试从运行在Tomcat7下的Web应用程序中使用相同凭据时,我收到错误消息。请指教。

注意:截至昨晚,网络应用程序能够连接好。没有什么变化(我知道 - 我只有一个人在这方面工作),今天早上我无法连接。

已解决: 我向用户添加了使用本地机器主机IP地址的授权。 我不确定服务器上发生了什么变化,但现在我可以再次连接。

有人可能能够解释这种变化,并且为什么我现在需要使用IP地址时,以前的本地主机名是足够的?

+0

检查您的MySQL服务器日志中是否有错误消息。 –

+0

Web应用程序是否从不同的服务器运行到Workbench? – dwjv

+0

是您在不同主机上的网络应用程序? –

回答

-2

确保您使用的是适当的主机名,并且您从该主机访问时,用户无法从其他主机连接。

要给予权限,您必须将密码解密。

GRANT ALL PRIVILEGES ON test. * TO 'root' @ 'localhost' 

     IDENTIFIED BY 'goodsecret'; 

在创建用户还必须是相同的密码。

这里How adding用户的MySQL

注:有关给予更多的信息,这里是documentation

希望这会有帮助

相关问题