0

我有一个 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'@'%'; 

结果相同。

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

4

2 回答 2

2

您需要刷新权限:

FLUSH PRIVILEGES;

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

于 2013-07-02T20:22:26.533 回答
1

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

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

FLUSH PRIVILEGES;

为了让权限真正生效。

于 2013-07-02T20:23:39.907 回答