我无法获得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,并在这里发布输出。
另外,我知道你已经禁用了防火墙,但仍然很棒,如果你能帮助我这几个命令:
此外,你有没有在MySQL中进行任何优化,并更改任何variables的任何值。 如果是,那么请张贴同样的。