【问题标题】:cannot connect to remote mysql server无法连接到远程mysql服务器
【发布时间】:2023-08-26 02:56:01
【问题描述】:

我已经在我的服务器上安装了 mysql lampp。 当我尝试使用此命令进行远程连接时:

mysql -h SERVER_IP -u USER -p

它返回错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'SERVER_IP' (110)

我在/opt/lampp/etc/my.cnf 文件中将绑定地址设置为0.0.0.0, 我还给了这个 iptables 规则以允许访问3306 上的 mysql 端口

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

本地服务器上的 Nmap 给出以下输出:

PORT STATE SERVICE

#nmap -p 3306 localhost
PORT     STATE SERVICE
3306/tcp open  mysql

但是当来自服务器网络外部的 nmap 时,即使用外部 ip,nmap 会给出以下输出:

#nmap -p 3306 SERVER_IP
PORT     STATE  SERVICE
3306/tcp filtered mysql

netstat -ntulp |grep 3306的输出

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      17946/mysqld

端口根据netstat监听,但无法接受来自网络外部的连接(远程)

这里有什么问题?

【问题讨论】:

标签: mysql networking


【解决方案1】:

尝试一件事去你的mysql服务器并执行下面的命令-

service iptables stop

现在检查您的连接。

【讨论】:

  • mysql 端口仍然被过滤
  • 尝试通过“mysql -h localhost -P 3306 -uroot -p”直接从mysql服务器consode连接并检查是否能够连接。