【问题标题】:Granting privileges on MySQL授予对 MySQL 的权限
【发布时间】:2013-07-02 20:20:19
【问题描述】:

我有一个 MySQL 数据库,用于测试 C# 应用程序。作为超级用户,我输入以下“查询”:

GRANT ALL PRIVILEGES ON testing.* TO 'Ubuntu'@'localhost';

到一个肯定的消息。然后,我退出数据库,以 Ubuntu 身份重新登录,并在 localhost 连接上运行以下查询:

USE testing;

并收到此消息:

ERROR 1044(42000): Access denied for user 'ubuntu'@'localhost' to database 'testing'

我也运行过这个查询:

GRANT ALL PRIVILEGES ON testing.* TO 'Ubuntu'@'%'; 

结果相同。

我到底错过了什么?这似乎是一个相当简单的过程......

【问题讨论】:

  • 附带说明,MySQL 和操作系统用户帐户是不同的。您无需登录和退出 Ubuntu 即可“更改”您连接到 MySQL 的用户。

标签: mysql privileges sql-grant


【解决方案1】:

您需要刷新权限:

FLUSH PRIVILEGES;

正如 Ricky 所指出的(这是什么,相互钦佩的社会?!)用户名区分大小写,因此用户 Ubuntu 与用户 ubuntu 不同

【讨论】:

    【解决方案2】:

    我相信用户名是区分大小写的。在您的查询中,我看到您正在授予大写“Ubuntu”的权限,但在您的错误消息中,“ubuntu”是小写的。

    此外,正如 AMADANON Inc. 所指出的,您很可能需要运行查询

    FLUSH PRIVILEGES;
    

    为了让权限真正生效。

    【讨论】:

    • 想知道我是否可以将功劳归于你和 Amadanon……两者都有帮助。
    • 我认为您只能将一个答案标记为正确。我宁愿 Ricky 获得荣誉也不愿没有人。
    • 我不确定这是否可行,但感谢您让我/我们知道它有效!
    • @AMADANONInc。非常感激!我也会将您的部分添加到我的答案中,使其成为可能偶然发现此问题的任何人的“最佳答案”。
    猜你喜欢
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    相关资源
    最近更新 更多