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