当我尝试从远程计算机连接到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服务器。 因此
%通配符作为用户帐户的主机部分,以允许从任何主机连接(请参阅添加用户帐户文章)。 请参阅解决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添加到列表中,我就可以连接。