我有一个正在运行 mysql 的远程服务器。我通过将绑定地址更改为公共 ip 并注释“skip-networking”行来启用远程访问。然后我使用ufw(ubuntu防火墙)打开mysql端口3306
但是,我的客户端在尝试连接到服务器时超时。所以我用 telnet 测试了连接,我得到了期望的响应,就像我在本地服务器上得到的一样。
使用 mysql 客户端时,我没有收到任何错误,也没有响应,但在 telnet 中似乎可以访问。
有人可以建议我错过了什么吗?
谢谢
我有一个正在运行 mysql 的远程服务器。我通过将绑定地址更改为公共 ip 并注释“skip-networking”行来启用远程访问。然后我使用ufw(ubuntu防火墙)打开mysql端口3306
但是,我的客户端在尝试连接到服务器时超时。所以我用 telnet 测试了连接,我得到了期望的响应,就像我在本地服务器上得到的一样。
使用 mysql 客户端时,我没有收到任何错误,也没有响应,但在 telnet 中似乎可以访问。
有人可以建议我错过了什么吗?
谢谢
如果不是防火墙问题,则可能是权限问题,请为您用于从该主机连接的用户尝试此操作:
CREATE USER 'user'@'host' IDENTIFIED BY 'pass';
GRANT ALL on *.* to 'user'@'host';
FLUSH PRIVILEGES;
更新:
还要检查文件中的绑定地址my.cnf
例如,如果绑定到 0.0.0.0,则可以使用所有现有帐户连接到服务器。但是,如果您绑定到 127.0.0.1,则服务器只接受该地址上的连接。在这种情况下,首先确保 'root'@'127.0.0.1' 帐户存在于 mysql.user 表中,以便您仍然可以连接到服务器以将其关闭。