我正在运行一个带有 LAMP 堆栈的 ubuntu 服务器。问题是我无法远程访问 MySQL。
我已经在 my.cnf 文件中取消注释了 bind-address,但这没有任何效果。
netstat -tap | grep mysql
输出为:
tcp 0 0 *:mysql *:* LISTEN 18079/mysqld
tcp 0 0 localhost:mysql localhost:45288 TIME_WAIT -
tcp 0 0 localhost:mysql localhost:45802 ESTABLISHED 18079/mysqld
tcp 0 0 localhost:mysql localhost:45286 TIME_WAIT -
tcp 0 0 localhost:45802 localhost:mysql ESTABLISHED 18134/sshd: root
tcp 0 0 localhost:45287 localhost:mysql TIME_WAIT -
我也无法通过端口 3306 远程登录服务器,尽管我已确保端口 3306 已打开,但使用以下命令:
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
Telnet 输出为:
Operation timed out
telnet: Unable to connect to remote host
iptables -L -nv 的结果:
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
答案1
iptables 的输出表明它从未见过任何端口 3306 上的流量。 (至少从上次刷新计数器以来)。
在到达您的机器之前,有其他东西阻塞了该端口。请致电您的托管服务提供商。