我有一个托管在Azure中的MySQL数据库,我通过笔记本电脑中的MySQL Workbench访问它。关键是当我想执行某些命令时,我收到错误消息,说我没有足够的权限。我试图访问MySQL Workbench中的Users and Privileges部分,但我收到了消息:
您当前使用的帐户数量不足 更改MySQL用户和权限的权限。
我在哪里可以提供超级用户权限,以便我可以从MySQL Workbench执行每个命令?
答案 0 :(得分:3)
权限仅与您使用的客户端用户有关 与它无关,所以无论你使用工作台还是CLI,它都是如此 没关系。
在MySQL中,权限被安排到不同的用户"和"用户"由"用户名"组成。和"主持人" (从那里你登录mysql),所以基本上,mysql中拥有特定权限的用户看起来像:
'foo'@'192.16.22.231', 'bar'@'10.3.243.%' ..
如何改善特定用户的所有权限?以超级用户身份执行此操作:
GRANT ALL PRIVILEGES ON \*.* TO YOUR_USER
超级用户通常是' root' @' 127.0.0.1',因为您必须授予您的特定用户',您必须知道您登录的IP地址
如果您认为上面的内容有点复杂,而且您的mysql只是快速安装且配置简单,那么您可以试试这个并且可能会有所帮助:
执行此操作:
GRANT ALL PRIVILEGES ON \*.* TO 'your_user'@'%';
答案 1 :(得分:0)
在您的客户端执行SELECT * FROM mysql.user WHERE user = 'your account'\G
。如果所有priv列都是'Y',则您的帐户具有超级用户权限。
您也可以尝试UPDATE mysql.user
。然后,执行flush privileges;
以使更改生效。
执行GRANT ALL PRIVILEGES ON \*.* TO 'your_user'@'%';
添加新的超级用户权限帐户。
如果不允许执行上述所有操作,请致电Azure支持。在云数据库中,可能不允许某些系统数据库访问。
答案 2 :(得分:0)
我通过这样做解决了这个问题:
UPDATE mysql.user SET Grant_priv = 'Y' WHERE User = 'root';
如果你不知道你在做什么,这可能是“危险的”; - )