连接远程mysql服务器失败

Jun*_*jie 5 mysql linux ssh centos iptables

无法连接远程mysql服务器(CentOS),我尝试了很多方法但没有帮助。

我可以成功ssh远程主机,3306端口正在监听:

[root@fabulous ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      9979/mysqld
Run Code Online (Sandbox Code Playgroud)

我已经关闭了 iptables:

[root@fabulous ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
Run Code Online (Sandbox Code Playgroud)

远程服务器上的 Mysql 客户端工作正常,并且允许在每个主机上访问:

mysql> select user,host from user;
+-------+--------------------+
| user  | host               |
+-------+--------------------+
| root  | %                  |
| root  | 127.0.0.1          |
| root  | fabulous.ma2oo.com |
| root  | localhost          |
+-------+--------------------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

mysql的全局配置:

[root@fabulous ~]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
Run Code Online (Sandbox Code Playgroud)

但是,当我在 Windows 笔记本电脑上使用 Navicat 访问 mysql 服务器时,错误消息是:

2003 - Can't connect to MySql server on 'XX.XX.XX.XX' (10038)
Run Code Online (Sandbox Code Playgroud)

当我使用 telnet 访问该服务器上的相应端口时,错误消息是:

C:\Users\shijunji>telnet 107.170.239.240 3306
Connecting To 107.170.239.240...Could not open connection to the host, on port 3306: Connect failed
Run Code Online (Sandbox Code Playgroud)

谁能知道它或让我知道如何找到有用的日志?提前致谢。

Guo*_*ong 2

我认为你的 Navicat 或 Windows 操作系统不正常。

在我的本地主机中,

songguo@songuo:~$ telnet 107.170.239.240 3306
Trying 107.170.239.240...
Connected to 107.170.239.240.
Escape character is '^]'.
4
5.1.73
^^=Vxyw1P"Ue}ffL+.G
Connection closed by foreign host.
songguo@songuo:~$ mysql -uroot -h107.170.239.240 -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'211.151.238.51' (using      password: YES)
Run Code Online (Sandbox Code Playgroud)

所以,如果我有正确的密码,我就可以连接到mysql服务器。