首页 >数据库 >mysql教程 >尽管'bind-address = 0.0.0.0”,为什么我无法从远程主机连接到我的 MySQL 服务器?

尽管'bind-address = 0.0.0.0”,为什么我无法从远程主机连接到我的 MySQL 服务器?

Patricia Arquette
Patricia Arquette原创
2024-12-17 08:06:25752浏览

Why Can't I Connect to My MySQL Server from a Remote Host Despite `bind-address = 0.0.0.0`?

Mysql 连接错误:HOST '' 无法连接到 MySQL 服务器

当尝试使用 mysql 命令连接到 MySQL 服务器时,收到以下错误消息:

ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

此错误表明服务器已配置为仅允许某些主机连接,而你的主机不在允许列表中。

检查 root 用户权限

在你的情况下,你已在 my.cnf 中将 bind-address 设置为 0.0.0.0,这意味着服务器应接受来自所有主机的连接。但是,你仍然无法连接。这可能是因为 root 用户只被授权从 localhost 连接。

要检查这一点,运行以下查询:

SELECT host FROM mysql.user WHERE User = 'root';

如果结果中不包含你尝试连接时使用的主机名或 IP 地址,则需要向 root 用户授予从该主机连接的权限。

授予连接权限

要授予 root 用户从特定主机连接的权限,请使用以下命令:

CREATE USER 'root'@'host_ip' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'host_ip';

其中,host_ip 是你想要允许连接的主机的 IP 地址。

如果想为所有主机授予连接权限,可以使用通配符 %:

CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

最后,刷新权限以立即生效:

FLUSH PRIVILEGES;

现在,你应该能够使用 mysql 命令从指定的远程主机连接到 MySQL 服务器。

以上是尽管'bind-address = 0.0.0.0”,为什么我无法从远程主机连接到我的 MySQL 服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!

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