首页 >数据库 >mysql教程 >为什么即使使用'%”主机条目,也会出现'不允许主机'xxx.xx.xxx.xxx'连接到此 MySQL 服务器”?

为什么即使使用'%”主机条目,也会出现'不允许主机'xxx.xx.xxx.xxx'连接到此 MySQL 服务器”?

DDD
DDD原创
2024-12-20 18:06:11670浏览

Why Do I Get

远程 MySQL 连接错误:“主机不允许”

远程连接到 MySQL 有时会导致错误消息“Host 'xxx.不允许 xx.xxx.xxx' 连接到此 MySQL 服务器。”尽管 root 用户条目的主机值为“localhost”和“%”,但连接失败。

此问题通常是由于 MySQL 实施的安全措施而遇到的。一种可能的解决方案是创建具有特定权限和访问限制的新管理用户:

创建新管理用户:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' ->     WITH GRANT OPTION;

虽然授予广泛的权限很方便,由于存在安全风险,不建议使用。相反,明智的做法是:

  • 限制用户访问所需的特定主机和 IP。
  • 仅授予手头任务所需的权限。

MySQL 常见问题洞察:

MySQL 常见问题提供关于此问题的进一步说明:

“如果您无法弄清楚为什么会出现“访问被拒绝”的情况,请删除主机值包含通配符(例如“% 或 _”)的所有用户表条目。常见的情况是意外插入带有 host='%' 和 user='some_user' 的条目以启用 localhost 连接但是,它不会工作,因为默认权限包含带有 host='localhost' 和 的条目。 user=''。要允许本地主机连接,请插入第二个条目,其中 host='localhost' 和 user='some_user',或者删除默认的 localhost 条目并发出 FLUSH PRIVILEGES。声明。”

以上是为什么即使使用'%”主机条目,也会出现'不允许主机'xxx.xx.xxx.xxx'连接到此 MySQL 服务器”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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