我不是网络/网络/互联网程序员,所以请原谅我在这方面的菜鸟。我有一个使用免费托管服务的网站。它们包括一个 MySQL 数据库。以下是数据库的详细信息:
port = 3306
host = "fdb4.biz.nf"
database = "1284899_6067"
user = "1284899_6067"
password = "somepass9351"
我正在使用 MySQLdb 模块(安装在我的客户端机器上 - 而不是服务器上)连接到这个数据库:
db = MySQLdb.connect(host=host, user=user, passwd=password, db=database,port=port)
但是我得到以下错误:
OperationalError: (2003, "Can't connect to MySQL server on 'fdb4.biz.nf' (10060)
我已经尝试过
- 尝试了来自不同主机的两个不同数据库
- 尝试更改端口
- 尝试在 SO 中搜索类似的答案,但所有其他人都连接到“本地主机”
我的想法:
- 这可能是我的防火墙造成的吗?我正在使用学校的互联网。我不认为这可能是因为我在客户端,所以如果有的话,它是服务器的防火墙。
两个问题
- 当 MySQLdb 导入到客户端时,是否可以用于连接到服务器上的数据库?
- 如果是,我做错了什么?
非常感谢您的帮助,非常感谢!一整天都被困在这个问题上。
最佳答案
出于安全原因,mysql 只监听来自本地主机的连接。错误代码 10060 基本上是:不允许远程连接。
解决办法:找一个my.ini(或者linux下的my.cnf),试着找一行:
bind-address = 127.0.0.1
这一行说:只允许本地连接。所以,你应该注释掉这一行,或者设置你的 IP 地址。
关于python - 客户端机器上的 MySQLdb 可以连接到服务器机器上的数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23964994/