1

我有一个关于如何授予权限 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!";

?>

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

4

2 回答 2

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,但在您的情况下它可能是其他东西。

于 2013-10-02T13:51:44.380 回答
0

我想这与 php 的问题相同,就像原生查询一样 - >您需要在授权语句之后执行“刷新权限” - 否则用户表不会得到更新。

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

于 2011-05-08T04:15:04.550 回答