如何为MySQL提供超级用户权限?

时间:2014-11-14 18:37:35

标签: mysql azure

我有一个托管在Azure中的MySQL数据库,我通过笔记本电脑中的MySQL Workbench访问它。关键是当我想执行某些命令时,我收到错误消息,说我没有足够的权限。我试图访问MySQL Workbench中的Users and Privileges部分,但我收到了消息:

  

您当前使用的帐户数量不足   更改MySQL用户和权限的权限。

我在哪里可以提供超级用户权限,以便我可以从MySQL Workbench执行每个命令?

3 个答案:

答案 0 :(得分:3)

  1. 权限仅与您使用的客户端用户有关 与它无关,所以无论你使用工作台还是CLI,它都是如此 没关系。

  2. 在MySQL中,权限被安排到不同的用户"和"用户"由"用户名"组成。和"主持人" (从那里你登录mysql),所以基本上,mysql中拥有特定权限的用户看起来像:

    'foo'@'192.16.22.231', 'bar'@'10.3.243.%' ..
    
  3. 如何改善特定用户的所有权限?以超级用户身份执行此操作:

    GRANT ALL PRIVILEGES ON \*.* TO YOUR_USER
    

    超级用户通常是' root' @' 127.0.0.1',因为您必须授予您的特定用户',您必须知道您登录的IP地址

  4. 如果您认为上面的内容有点复杂,而且您的mysql只是快速安装且配置简单,那么您可以试试这个并且可能会有所帮助:

    1. 以root身份登录' root'或者mysql
    2. 执行此操作:

      GRANT ALL PRIVILEGES ON \*.* TO 'your_user'@'%';
      

答案 1 :(得分:0)

  1. 在您的客户端执行SELECT * FROM mysql.user WHERE user = 'your account'\G。如果所有priv列都是'Y',则您的帐户具有超级用户权限。

  2. 您也可以尝试UPDATE mysql.user。然后,执行flush privileges;以使更改生效。

  3. 执行GRANT ALL PRIVILEGES ON \*.* TO 'your_user'@'%';添加新的超级用户权限帐户。

  4. 如果不允许执行上述所有操作,请致电Azure支持。在云数据库中,可能不允许某些系统数据库访问。

答案 2 :(得分:0)

我通过这样做解决了这个问题:

UPDATE mysql.user SET Grant_priv = 'Y' WHERE User = 'root';

如果你不知道你在做什么,这可能是“危险的”; - )