【问题标题】:How to give superuser privileges to MySQL?如何赋予 MySQL 超级用户权限?
【发布时间】:2014-11-14 18:37:35
【问题描述】:

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

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

我在哪里可以授予超级用户权限,以便我可以执行 MySQL Workbench 中的每个命令?

【问题讨论】:

  • 也许这篇文章会有所帮助:stackoverflow.com/questions/12111760/…
  • @Grasshopper 我已经通过 MySQL Workbench 连接到数据库,但我猜我没有超级用户权限,因为我无法执行某些命令。

标签: mysql azure


【解决方案1】:
  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地址

如果你觉得上面有点复杂,而你的 mysql 只是快速安装和简单配置,你可以试试这个,也许它会有所帮助:

  1. 以“root”或 mysql 身份登录
  2. 执行这个:

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

【讨论】:

    【解决方案2】:
    1. 在您的客户端中执行SELECT * FROM mysql.user WHERE user = 'your account'\G。如果 All priv 列是“Y”,则您的帐户具有超级用户权限。

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

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

    4. 如果以上所有操作都不允许,请致电 Azure 支持。云数据库中,部分系统数据库可能不允许访问。

    【讨论】:

      【解决方案3】:

      我已经解决了这个问题:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-31
        • 2021-12-24
        • 2020-04-26
        相关资源
        最近更新 更多