远程MySQL连接失败(10060)

当我尝试从远程计算机连接到MySQL数据库时,出现提示: Connection Failed: [HY000] [MySQL][ODBC 5.1 Driver]Can't Connect to MySQL server on 'XXX.XXX.XX.XX' (10060)

我已经在MySQLpipe理员中创build了一个用户帐户,并添加了一个主机来启用远程访问,我也在端口3306上为Windows防火墙制定了一个例外,但连接仍然失败。

问题是什么?

谢谢!

我想你的MySQL服务器正在Windows上运行…因此打开一个DOS窗口并input:

netstat -an

你应该find这样的一行:

TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING

这告诉你,MySQL服务器正在运行并侦听TCP端口3306。

你可以做的另一个testing是从另一台电脑telnet到你的mysql服务器:

telnet ip_mysql_server 3306

这应该打开一个telnet会话:

 Connected to server_name. Escape character is '^]'. 5.0.XX-community-nt-log 

首先,在数据库服务器上build立一个全球性的开放端口是一个非常糟糕的主意。 特别是如果它在MySQL的默认端口。 你只是邀请人们试图打入你的数据库。

您是否尝试过使用端口扫描工具(如nmap)从远程计算机上扫描数据库服务器? 它会告诉你,如果端口打开与nmap -PN -p 3306 XXX.XXX.XX.XX

1)iptables的访问

 sudo iptables -I INPUT -p tcp --dport 3306-j ACCEPT sudo service iptables save 

2)my.conf

 [mysqld] port = 3306 bind-address = 0.0.0.0 

3)mysql

 GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'%'; FLUSH PRIVILEGES; 

4)mysqld

 sudo service mysqld restart 

检查mysqlconfiguration: /etc/my.cnf

并发表评论:

 skip-networking 

现在,它将监听TCP / IP端口,但通常情况下,您通过防火墙直接阻止了对MySQL的访问,所以这不应该是个问题。 你现在可以通过TCP / IP作为“ localhost ”连接到MySQL服务器。

例如,Windows bat文件,PuTTY隧道:

 @putty.exe -ssh -pw PassWord -L 3306:localhost:3306 odbcuser@remoteHost EXIT 

如果你的本地机器上运行了XAMPP / MySQL,把上面的端口改为3307 ,即:

 3307:localhost:3306 

看这篇文章从远程服务器连接MYSQL

但是这不是一个好主意。 如果您打算从另一个远程服务器访问数据库,为什么不把文件放在您的网站内部,并使用一些安全性如htpasswd保护或某些authentication模块…

如果你打算把一台mysql服务器的数据传给另外一台服务器,请准确的要求…

如果它只是为了数据同步,去为数据库服务器概念…

错误10060意味着您不能远程访问Web服务器。 因此

  1. 确保你正在使用MySQL服务器的正确IP地址。
  2. 连接的其余部分是相同的。
  3. 使用%通配符作为用户帐户的主机部分,以允许从任何主机连接(请参阅添加用户帐户文章)。

请参阅解决scheme以获得错误10060后远程连接的详细信息。

人们经常忘记的可能的罪魁祸首是:

 mysql> GRANT ALL ON foo.* TO bar@'123.456.789.123' IDENTIFIED BY 'PASSWORD'; 

这一步需要能够从计算机连接123.456.789.123 Holicreature的链接可以find更多的信息和更完整的指南。

我有一个(Win2008)服务器上的MSSQL服务器数据库和另一个MySQL数据库之间进行通信的问题完全相同。

几年前,我已经在一台MSSQL Server和MySQL服务器之间创build了一个ODBC连接; 主要是为了让我在MSSQL服务器上创build一个链接服务器对象。

当试图从一个不同的服务器创build一个ODBC连接时,我收到了同样的错误:

 Connection Failed: [HY000] [MySQL][ODBC 5.1 Driver]Can't Connect to MySQL server on 'XXX.XXX.XX.XX' (10060). 

在遵循这里find的答案中的一些build议之后,我决定检查托pipeMySQL的(Win2008)服务器上的防火墙规则。

我有一个入站规则设置locking端口3306,只能从一个IP地址列表访问。 一旦我将我的最新服务器的IP添加到列表中,我就可以连接。