拒绝根MySQL用户对数据库的访问

拒绝根MySQL用户对数据库的访问,mysql,phpmyadmin,Mysql,Phpmyadmin,作为phpMyAdmin中的root MySQL用户,我运行: GRANT INSERT ON db.* TO 'db_user'@'localhost' 并收到: 1044-拒绝用户“db_user”@“localhost”访问数据库“db” 我不明白为什么root无法将此权限授予db用户。您不是以root身份运行;您已作为db_用户登录。这可能是您的浏览器会话的问题。注销并以root用户身份再次登录,然后重新运行该命令 最糟糕的情况是,请尝试其他浏览器。您不是以root用户身份运行;您

作为phpMyAdmin中的root MySQL用户,我运行:

GRANT INSERT ON db.* TO 'db_user'@'localhost' 
并收到:

1044-拒绝用户“db_user”@“localhost”访问数据库“db”


我不明白为什么root无法将此权限授予db用户。

您不是以root身份运行;您已作为db_用户登录。这可能是您的浏览器会话的问题。注销并以root用户身份再次登录,然后重新运行该命令


最糟糕的情况是,请尝试其他浏览器。

您不是以root用户身份运行;您已作为db_用户登录。这可能是您的浏览器会话的问题。注销并以root用户身份再次登录,然后重新运行该命令


最坏的情况下,请尝试其他浏览器。

John,考虑到您得到的响应:

1044-拒绝用户“db_user”@“localhost”访问数据库“db” 很明显,正如Devin所说,您执行的查询是作为“db_用户”连接的,而不是作为“root”用户连接的

再次尝试以root用户身份登录,连接后,通过检查主phpmyadmin窗口右侧的“数据库服务器”信息,再次检查用户root是否已连接。您应该看到如下内容:

  • 服务器:通过UNIX套接字的本地主机
  • 服务器类型:MySQL
  • 服务器版本:5.5.44(服务器版本/类型)
  • 协议版本:10
  • 用户:root@localhost
  • 服务器字符集:UTF-8 Unicode(utf8)
要检查当前用户拥有的权限,请执行以下操作:

SHOW GRANTS;
我想您应该知道,用户的权限可以是全局的,也可以是特定于数据库的(仅与所选数据库有关)

在任何情况下,如果您觉得使用sql命令行不舒服,那么通过执行以下操作来授予所需的权限会容易得多:

如果要向用户授予某些全局权限,请执行以下操作:

  • 根用户身份从web浏览器登录到phpMyAdmin
  • 单击用户选项卡(不要从菜单中选择任何数据库)
  • 找到要编辑的用户并单击“编辑权限”
  • 选择要授予的任何特权
  • 单击“开始”
  • 仅对于特定于数据库的权限,请按照上述步骤1-3进行操作,然后:

  • 再向下滚动一点,直到看到“数据库特定权限”标题
  • 从下拉菜单中,选择要为用户添加权限的数据库,并键入主机名(默认为%for all) 3.点击“开始”
  • 确保确认标头读取到您正在为所引用的特定数据库授予权限。 (例如编辑权限:用户'db_User'@'localhost'-数据库db)

  • 检查要授予的特权
  • 单击“开始”

  • 我希望这对你有用。

    约翰,考虑到你得到的回复:

    1044-拒绝用户“db_user”@“localhost”访问数据库“db” 很明显,正如Devin所说,您执行的查询是作为“db_用户”连接的,而不是作为“root”用户连接的

    再次尝试以root用户身份登录,连接后,通过检查主phpmyadmin窗口右侧的“数据库服务器”信息,再次检查用户root是否已连接。您应该看到如下内容:

    • 服务器:通过UNIX套接字的本地主机
    • 服务器类型:MySQL
    • 服务器版本:5.5.44(服务器版本/类型)
    • 协议版本:10
    • 用户:root@localhost
    • 服务器字符集:UTF-8 Unicode(utf8)
    要检查当前用户拥有的权限,请执行以下操作:

    SHOW GRANTS;
    
    我想您应该知道,用户的权限可以是全局的,也可以是特定于数据库的(仅与所选数据库有关)

    在任何情况下,如果您觉得使用sql命令行不舒服,那么通过执行以下操作来授予所需的权限会容易得多:

    如果要向用户授予某些全局权限,请执行以下操作:

  • 根用户身份从web浏览器登录到phpMyAdmin
  • 单击用户选项卡(不要从菜单中选择任何数据库)
  • 找到要编辑的用户并单击“编辑权限”
  • 选择要授予的任何特权
  • 单击“开始”
  • 仅对于特定于数据库的权限,请按照上述步骤1-3进行操作,然后:

  • 再向下滚动一点,直到看到“数据库特定权限”标题
  • 从下拉菜单中,选择要为用户添加权限的数据库,并键入主机名(默认为%for all) 3.点击“开始”
  • 确保确认标头读取到您正在为所引用的特定数据库授予权限。 (例如编辑权限:用户'db_User'@'localhost'-数据库db)

  • 检查要授予的特权
  • 单击“开始”

  • 我希望它能为您工作。

    所以您键入了GRANT命令,并立即收到了1044错误消息?或者您键入了GRANT命令,它成功地执行了,然后您尝试以db_用户身份登录,它给出了1044命令?我键入了GRANT命令,如上所述,并立即得到了1044。因此您键入了GRANT命令,并立即得到了1044错误消息?或者您键入了GRANT命令,该命令执行成功,然后您尝试以db_用户身份登录,并发出了1044命令?我键入了上述GRANT命令并立即获得了1044。为清楚起见,错误中提到的用户名是当前登录的用户,在这种情况下,它恰好与您试图向其分配权限的用户相同,这会导致混淆。为清楚起见,错误中提到的用户名是当前登录的用户,在这种情况下,它恰好与您试图向其分配权限的用户相同,这会导致混淆。您是对的