远程 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;
虽然授予广泛的权限很方便,由于存在安全风险,不建议使用。相反,明智的做法是:
MySQL 常见问题洞察:
MySQL 常见问题提供关于此问题的进一步说明:
“如果您无法弄清楚为什么会出现“访问被拒绝”的情况,请删除主机值包含通配符(例如“% 或 _”)的所有用户表条目。常见的情况是意外插入带有 host='%' 和 user='some_user' 的条目以启用 localhost 连接但是,它不会工作,因为默认权限包含带有 host='localhost' 和 的条目。 user=''。要允许本地主机连接,请插入第二个条目,其中 host='localhost' 和 user='some_user',或者删除默认的 localhost 条目并发出 FLUSH PRIVILEGES。声明。”
以上是为什么即使使用'%”主机条目,也会出现'不允许主机'xxx.xx.xxx.xxx'连接到此 MySQL 服务器”?的详细内容。更多信息请关注PHP中文网其他相关文章!