我在连接同一网络上的另一台机器上的 MySql 数据库时遇到问题。
无法连接到指定实例。MySql 错误编号 1130 主机“abc”不允许连接到此 MySql 服务器(Pinging 成功时间 1-3 毫秒 ttl =128)
我已检查以下内容:
在 hlocal 机器下启用 Tcp/IP RegEdit....参数..maxUserpORT 和时间延迟..将所有.授予'root'@'Myipaddress',请尽早提供帮助..
答案1
您收到的错误消息表明您已正确连接到远程服务器上的端口 3306。因此您的网络设置没有问题。
您遇到的是 ACL 问题 - “主机‘abc’不允许连接到此 MySql 服务器”。
我对 MySQL ACL 有点生疏,但不要授予'root'
@访问权限'my.ip.address'
,而是尝试授予'root'@'abc'
答案2
首先,为用户帐户创建 ACL 以测试连接性。
GRANT SELECT ON test.* TO testuser@'%' IDENTIFIED BY 'abc123';
接下来,尝试以 testuser 身份连接。
> mysql -u testuser -p -h mysqlhost_or_ip
如果可以连接,那太好了,问题出在 ACL 上。如果无法连接,那么你可能需要添加跳过名称解析到我的cnf并调试 DNS 不会阻止连接。
答案3
您已经尝试了一些不错的建议,但我想补充一点,默认情况下不允许远程 root 访问是有充分理由的。
如果您尝试了建议的方法但仍然有问题,您可以尝试使用 Wireshark(或类似程序)监控网络流量,并准确查看发送和接收的内容,因为这应该可以清楚地显示正在发生和未发生的情况。这有时比错误消息更能说明问题。
答案4
我不知道如何在 Windows 上运行 MySQL,但在 *nix 机器上,您必须打开 MySQLs 配置文件 (my.cnf) 并告诉 MySQL 守护进程监听您机器上的所有 IP 地址,而不仅仅是本地主机。
在 MySQL 5.0.51 中,您有:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1