如何从远程PC访问网站托管的SQL数据库 连接报错10061求助
解决方法
你遇到的10061 No connection could be made because the target machine actively refused it报错属于MySQL远程连接配置错误,按以下步骤排查即可:
1. 修正连接参数
你现有代码里host='localhost'指向的是你本地电脑的MySQL服务,和托管网站的远程数据库完全无关,需要先替换为托管商提供的数据库公网地址,同时确认数据库开放的连接端口(默认是3306)。
修正后的代码参考:
import mysql.connector try: mydb = mysql.connector.connect( host="替换为托管商提供的数据库公网地址", port=3306, # 托管商修改过端口的话替换为对应值 user="你的数据库用户名", password="你的数据库密码", database="你的数据库名称" ) print("连接成功") except Exception as e: print(type(e)) print(e)
2. 开启数据库远程访问权限
绝大多数托管商默认关闭数据库的公网访问权限,需要手动开启:
- 登录你的phpMyAdmin管理后台,进入
权限管理页面 - 找到你正在使用的数据库账号,确认该账号允许的访问来源为你本地PC的公网IP,或填写
%允许所有IP访问 - 保存配置后等待生效
3. 放行端口访问规则
- 登录托管网站的主机管理面板,找到安全组/防火墙设置
- 添加入站规则,放行3306端口的访问请求,来源IP填写你本地PC的公网IP即可
注意事项
- 不建议将数据库访问来源设置为
%,会大幅提升数据库被暴力破解的风险,仅绑定你实际使用的公网IP即可 - 部分低价虚拟主机产品默认不提供数据库远程访问权限,仅允许同服务器内的应用本地连接,可联系你的托管商确认是否支持开通该功能
内容的提问来源于stack exchange,提问作者rajeev
相关产品推荐
相关产品推荐

