以 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中文网其他相关文章!