无法连接到 MySQL 服务器:“不允许主机 'xxx.xx.xxx.xxx'”
尝试建立远程连接到 MySQL 服务器时,您会遇到错误消息:“不允许主机‘xxx.xx.xxx.xxx’连接到此 MySQL 服务器。”尽管用户条目同时使用“localhost”和“%”作为主机值,问题仍然存在。
说明
此错误通常是作为安全措施而出现的。为了确保数据库的安全,建议限制对特定主机的访问并限制通配符(“%”或“_”)的使用。 “root”用户的默认权限通常包括 Host='localhost' 和 User='' 的条目,该条目优先于具有更通用 Host 值的条目。
解决方案
要解决此问题,请考虑以下步骤:
创建具有特定主机访问权限的新管理用户,例如“localhost”或“%%”(适用于所有主机)。授予此用户必要的权限。
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 地址。这可确保限制未经授权的访问。
如果存在任何带有通配符主机(“%”或'_'),建议删除它们以增强安全性。删除后,发出 FLUSH PRIVILEGES 语句来重新加载授权表。
通过实施这些措施,您可以建立与 MySQL 服务器的安全连接并降低未经授权访问的风险。
以上是为什么我无法连接到我的 MySQL 服务器:'Host 'xxx.xx.xxx.xxx' is not allowed”?的详细内容。更多信息请关注PHP中文网其他相关文章!