MySQL远程访问不起作用 – 端口closures?

我无法获得build立到MySQL的远程连接。 从我的电脑,我可以远程login到现有服务器上的3306,但是当我尝试与新服务器相同时,它会挂起几分钟,然后返回

# mysql -utest3 -h [server ip] -p Enter password: ERROR 2003 (HY000): Can't connect to MySQL server on '[server ip]' (110) 

这里是服务器的一些输出。

 # nmap -sT -O localhost -p 3306 ... PORT STATE SERVICE 3306/tcp closed mysql ... # netstat -anp | grep mysql tcp 0 0 [server ip]:3306 0.0.0.0:* LISTEN 6349/mysqld unix 2 [ ACC ] STREAM LISTENING 12286 6349/mysqld /DATA/mysql/mysql.sock # netstat -anp | grep 3306 tcp 0 0 [server ip]:3306 0.0.0.0:* LISTEN 6349/mysqld unix 3 [ ] STREAM CONNECTED 3306 1411/audispd # lsof -i TCP:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 6349 mysql 10u IPv4 12285 0t0 TCP [domain]:mysql (LISTEN) 

我在跑步…

操作系统CentOS版本5.8(最终)MySQL 5.5.28(Remi)

注意:到mysql的内部连接正常工作。

我已禁用IPtables,该框没有其他的防火墙,它运行在端口80上的Apache和SSH没有问题。

按照本教程 – http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

我在my.cnf中绑定了IP地址

 user=mysql bind-address = [sever ip] port=3306 

我甚至开始通过删除我的数据存储中的MySQL文件夹并运行

 mysql_install_db --datadir=/DATA/mysql --force 

然后按照手册重新创build所有用户…

http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

我创build了一个testing用户

 CREATE USER 'test'@'%' IDENTIFIED BY '[password]'; GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; 

所以我能看到的是这个港口并不真正开放。 我可以在哪里看?

谢谢

 # nmap -sT -O localhost -p 3306 ... PORT STATE SERVICE 3306/tcp closed mysql ... 

在上面的命令中,您将获得端口closures,因为您的mysql正在特定的IP上运行,而不是在本地主机上运行。 所以,当你在服务器上运行这个命令时,它会显示端口被closures。 所以这是有道理的。 如果你想要工作,你需要replace值为0.0.0.0的bind-ip

所以,你可以请用server-ipreplacelocalhost,并在这里发布输出。

另外,我知道你已经禁用了防火墙,但仍然很棒,如果你能帮助我这几个命令:

iptables -L -n

猫/etc/hosts.deny

此外,你有没有在MySQL中进行任何优化,并更改任何variables的任何值。 如果是,那么请张贴同样的。