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

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

Patricia Arquette
发布: 2024-12-17 08:06:25
原创
751 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板