首页 >数据库 >mysql教程 >为什么我在以 root 身份授予 MySQL 权限时会出现'访问被拒绝”的情况?

为什么我在以 root 身份授予 MySQL 权限时会出现'访问被拒绝”的情况?

Patricia Arquette
Patricia Arquette原创
2024-11-30 07:00:10830浏览

Why Am I Getting

以 root 身份授予权限时排除“访问被拒绝”错误

遇到错误“用户 'root'@'localhost' 的访问被拒绝” (使用密码:YES)”授予权限时可能会令人沮丧,特别是当您确认了正确的密码并且有足够的特权。当尝试授予对基本系统表(例如 mysql.users 表)的权限时,经常会出现此问题。

问题的根源:

MySQL 的安全架构保留某些表(包括 mysql.users 表)供根级别用户独占访问。作为一项安全措施,禁止向非 root 用户授予这些表的权限。

解决方案:

要成功授予权限同时避免访问被拒绝错误,请修改grant 语句排除 mysql.users 表。使用 %.* 代替 . 来授予所有其他数据库对象的权限:

GRANT ALL PRIVILEGES ON `%`.* TO '[user]'@'[hostname]' IDENTIFIED BY '[password]' WITH GRANT OPTION;

通过排除 mysql.users 表,您将遵守安全限制并允许授予操作成功完成。

以上是为什么我在以 root 身份授予 MySQL 权限时会出现'访问被拒绝”的情况?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn