远程访问MySQL连接错误

Lea*_*wly 1 mysql mysql-error-2003

我正在尝试远程连接到MySQL服务器.我遵循了(1)的建议,并在我将远程访问的IP地址上设置用户.

user$ mysql -u TestUser -p -h 129.169.66.149
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '129.169.66.149' (60)
Run Code Online (Sandbox Code Playgroud)

我检查过,端口(默认为3306)是正确的,IP地址是正确的.MySQL也在运行.

从远程计算机,我可以成功ping服务器

ping 129.169.66.149
64 bytes from 129.169.66.149: icmp_seq=48 ttl=63 time=1.010 ms
Run Code Online (Sandbox Code Playgroud)

但是当我使用Telnet时:

TELNET 129.169.66.149
Trying 129.169.66.149...
telnet: connect to address 129.169.66.149: Operation timed out
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议吗?这是防火墙问题吗?

(1) - https://superuser.com/questions/826896/access-wordpress-mysql-database-remotely

Vin*_*nce 8

首先尝试检查TCP连接问题,使用netcat和telnet:在mysql服务器上,停止mysqld(释放端口3306)并在侦听模式下运行netcat:

nc -l -p 3306
Run Code Online (Sandbox Code Playgroud)

现在,netcat正在侦听端口3306(就像mysqld运行时那样)并将显示该端口上发生的事情(传入连接,线路中的内容......).

在您的远程计算机(mysql客户端)上,尝试连接到mysql服务器主机:

telnet 129.169.66.149 3306
Run Code Online (Sandbox Code Playgroud)

要么 :

nc 129.169.66.149 3306
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,这不是mysql服务器配置问题,而是网络问题,您必须检查路由器防火墙规则.

否则,您的问题来自mysql服务器设置.检查你的mysql配置文件bind-address,并删除它们以使mysqld接受来自任何IP地址的客户端.