MySQL授予用户权限错误

时间:2011-05-08 04:11:35

标签: mysql sql mysql-error-1045 grant

我有一个关于如何授予MySQL用户帐户权限的问题。我有一个MySQL用户帐户,在我的示例代码中,我想授予整个数据库的权限。当我运行代码时,我收到以下错误:

用户'user'@'10.%'拒绝访问数据库'testDB'

这是我的源代码:

<?php

  $connection = mysql_connect("sql.example.com", "user", "password");

  mysql_select_db("test");

  $query = mysql_query("GRANT ALL PRIVILEGES ON test.* To 'user'@'localhost' 
                         IDENTIFIED BY 'password'");

if (!$query) {
  die(mysql_error());
}

echo "Success!";

?>

为什么我会收到该错误?有人可以帮我解决这个问题吗?我真的很感激!

2 个答案:

答案 0 :(得分:0)

我猜这与php一样是本机查询的问题 - &gt; 您需要在grant语句之后执行“flush privileges” - 否则用户表不会更新。

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

答案 1 :(得分:0)

看起来您无法使用该凭据访问您的mysql服务器:

"sql.example.com", "user", "password"

首先尝试使用密码创建用户,然后再连接到mysql。

使用root用户以这种方式进入mysql服务器:

shell> mysql --user=root mysql

之后创建您要连接的用户:

shell> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';

然后给他许可:

shell> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;

不要忘记设置主机连接,在示例中它是localhost,但在你的情况下,它可能是其他东西。