我有一个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'@'%';
具有相同的结果。
我到底错过了什么?这似乎是一个相当简单的程序...
答案 0 :(得分:2)
您需要刷新权限:
FLUSH PRIVILEGES;
正如Ricky指出的那样(这是什么,相互钦佩社会?!)用户名区分大小写,因此用户Ubuntu
与用户ubuntu
不同
答案 1 :(得分:1)
我认为用户名区分大小写。在您的查询中,我看到您授予“Ubuntu”大小的权限,但在您的错误消息中,“ubuntu”是小写的。
此外,正如AMADANON Inc.所指出的,您很可能需要运行查询
FLUSH PRIVILEGES;
以便实际启动权限。