拒绝访问用户SomeUser的'@“localhost”的(使用密码:YES)

问题描述:

我已经通过名称“somedatabase”在MySQL拒绝访问用户SomeUser的'@“localhost”的(使用密码:YES)

CREATE DATABASE somedatabase; 
GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword'; 

创建一个数据库,但是当我尝试使用PHP应用程序访问该数据库我得到以下错误

mysql_connect()函数[function.mysql-连接]:拒绝用户 'SomeUser的' @ 'localhost' 的访问 (使用密码:YES)

Mysql查询浏览器允许我使用用户名:someuser和password:somepassword登录到此数据库。那么为什么我不能通过应用程序连接到数据库。

PHP代码:

$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase'; 
+0

这只是在变量赋值你用什么函数连接到MySQL? – 2011-04-16 06:17:54

+2

如果从命令行尝试使用mysql命令行程序,会发生什么情况? – 2011-04-16 06:19:17

+1

你能显示完整的PHP连接代码部分吗? – BugFinder 2011-04-16 06:22:04

使用GRANT时,不要使用singlequote(')将SomeUser的。

GRANT ALL ON somedatabase.* TO [email protected]'localhost' IDENTIFIED BY 'somepassword'; 

我还假设你在MySQL的同一个盒子上运行Apache/PHP。

+0

感谢您的即时回复..尝试你的语法没有工作.. – JAB 2011-04-16 06:30:19

+0

你是否在与MySQL相同的盒子上运行Apache?如果没有,那么你必须为请求服务器或所有('%')创建授权。 – lobster1234 2011-04-16 06:31:29

+0

雅我在Apache上运行的Mysql – JAB 2011-04-16 06:37:57

试试这个: 授予somedatabase的所有特权* TO'someuser'@'%'IDENTIFIED BY'somepassword';

http://dev.mysql.com/doc/refman/4.1/en/adding-users.html

+0

即使这个语法没有工作 – JAB 2011-04-16 06:30:52

我有同样的问题。我的问题的解决方案是设置主机,由于某种原因PHP不连接用户在任何主机(%)