**已关闭。**此问题为not about programming or software development。当前不接受答案。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site主题相关,您可以留下评论以解释在何处可以回答此问题。
昨天关门了。
Improve this question
我有一个mysql数据库,它托管在Windows服务器上的域下:https://<some-domain>.net/phpmyadmin/index.php
,我试图从服务器外部连接到flask应用程序中的此数据库,但它无法连接到服务器。
我的Python代码:
conn = mysql.connector.connect(host='https://<some-domain>.net/phpmyadmin/index.php',
user='user',
password='password',
database='db',
port='3306')
我还尝试了域的IP地址,它没有工作。在Windows服务器上本地工作没有任何问题,但当我试图从Windows服务器外部访问数据库时,它不会连接。
使用Domain作为主机,我将获得:
mysql.connector.errors.InterfaceError:2003:无法连接到“%-.100s:%u”(%s)上的MySQL服务器(警告:%u格式:需要真实的,而不是str)
使用IP地址作为主机,我得到:
mysql.connector.errors.InterfaceError:2003:无法连接到MySQL服务器上'217.237.79.165:3306'(10060连接尝试失败,因为连接的一方在一段时间后没有正确响应,或建立连接失败,因为连接的主机没有响应)
有没有人有一个解决方案,如何连接到数据库从外部的windows服务器?
2条答案
按热度按时间s6fujrry1#
最有可能的情况是,您的windows主机或windows主机所在的网络上遇到了防火墙问题。
“使用IP地址作为主机,我得到一个:mysql.connector.errors.InterfaceError:2003:无法连接到'217.237.79.165:3306'上的MySQL服务器(10060连接尝试失败,因为连接的一方在一段时间后没有正确响应,或建立连接失败,因为连接的主机没有响应)”
这告诉我,你的flask应用程序所在的盒子甚至不能与你的windows主机的IP通信。你会想要解决这个问题。
运行
traceroute 217.237.79.165
或tracert 217.237.793.165
,查看连接在何处断开。如果你的flask应用程序位于另一个windows盒子上,你可以使用powershell命令:
以了解您是否在端口级别也遇到问题。
好运
s3fp2yjn2#
port=3306
(MySQL的默认端口)对于Python上的
mysql.connector.connect
方法:https://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html