在MySQL上授予特权

在MySQL上授予特权,mysql,privileges,grant,Mysql,Privileges,Grant,我有一个MySQL数据库,用于测试C#应用程序。作为超级用户,我输入以下“查询”: GRANT ALL PRIVILEGES ON testing.* TO 'Ubuntu'@'localhost'; 给一个肯定的信息。然后,我注销数据库,以Ubuntu身份重新登录,并在本地主机连接上运行以下查询: USE testing; 并收到此消息: ERROR 1044(42000): Access denied for user 'ubuntu'@'localhost' to database '

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

GRANT ALL PRIVILEGES ON testing.* TO 'Ubuntu'@'localhost';
给一个肯定的信息。然后,我注销数据库,以Ubuntu身份重新登录,并在本地主机连接上运行以下查询:

USE testing;
并收到此消息:

ERROR 1044(42000): Access denied for user 'ubuntu'@'localhost' to database 'testing'
我还运行了以下查询:

GRANT ALL PRIVILEGES ON testing.* TO 'Ubuntu'@'%'; 
同样的结果


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

您需要刷新权限:

FLUSH PRIVILEGES;

正如Ricky指出的(这是什么,相互敬佩协会?!)用户名是区分大小写的,因此用户
Ubuntu
与用户
Ubuntu
不同,您需要刷新权限:

FLUSH PRIVILEGES;

正如Ricky指出的(这是什么,相互敬佩协会?!)用户名是区分大小写的,因此用户
Ubuntu
与用户
Ubuntu
不同,我相信用户名是区分大小写的。在您的查询中,我看到您正在向“Ubuntu”授予权限,它是大写的,但在您的错误消息中,“Ubuntu”是小写的

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

FLUSH PRIVILEGES;

为了让权限真正生效。

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

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

FLUSH PRIVILEGES;

为了让权限真正生效。

想知道我是否能为你和阿玛达农提供信用。。。两者都有帮助。我想你只能把一个答案标记为正确。我宁愿瑞奇得到荣誉,也不愿一个人也得不到。我不确定这是否可行,但谢谢你让我/我们知道它奏效了@阿马达诺尼克。非常感谢!我也会在我的答案中加入你的部分,使之成为任何可能无意中发现这一点的人的“最佳答案”。不知我是否能为你和阿玛达农提供信任。。。两者都有帮助。我想你只能把一个答案标记为正确。我宁愿瑞奇得到荣誉,也不愿一个人也得不到。我不确定这是否可行,但谢谢你让我/我们知道它奏效了@阿马达诺尼克。非常感谢!我也会在我的答案中加入你的部分,使之成为任何可能偶然发现这一点的人的“最佳答案”。另一方面,MySQL和操作系统用户帐户是不同的。你不需要登录和退出Ubuntu就可以“更改”你连接到MySQL的用户。另一方面,MySQL和操作系统用户帐户是不同的。您无需登录和退出Ubuntu即可“更改”连接到MySQL的用户。