You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从异网PC通过Python远程连接Windows本地MySQL服务器?

异网环境下连接Windows MySQL服务器的配置步骤

1. 修改MySQL绑定IP,允许外部访问

找到MySQL配置文件(Windows下通常在C:\ProgramData\MySQL\MySQL Server X.X目录,ProgramData为隐藏文件夹),打开my.ini:

  • 定位到[mysqld]段落,找到bind-address配置项
  • 将其值改为0.0.0.0(允许监听所有网卡的请求)
  • 保存文件后,重启MySQL服务(在Windows服务列表中找到对应服务,右键选择“重启”)

2. 配置MySQL用户远程访问权限

默认MySQL用户仅允许本地登录,需为你的项目用户授权远程访问:

  1. 打开MySQL命令行工具,登录root账号
  2. 执行以下SQL语句(替换占位符为你的实际信息):
GRANT ALL PRIVILEGES ON *.* TO '你的项目用户名'@'%' IDENTIFIED BY '你的用户密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

%表示允许该用户从任意IP地址登录,若需限制特定IP,可将%替换为目标设备的公网IP。

3. 放行Windows防火墙的MySQL端口

MySQL默认端口为3306,需在Windows防火墙中添加入站规则:

  • 打开「Windows Defender防火墙」→「高级设置」
  • 点击「新建规则」,选择「端口」类型,点击下一步
  • 选择「TCP」,输入特定本地端口3306,点击下一步
  • 选择「允许连接」,点击下一步
  • 勾选所有网络类型(包括公网),点击下一步
  • 为规则命名(如「MySQL 3306 远程访问」),完成配置

4. 配置路由器端口转发(异网访问核心步骤)

你的Windows电脑处于局域网内,异网设备需通过路由器公网IP转发请求到本地:

  1. 登录路由器管理后台(通常地址为192.168.1.1或192.168.0.1,具体见路由器说明书)
  2. 找到「端口转发」/「虚拟服务器」功能
  3. 添加转发规则:
    • 外部端口:3306
    • 内部端口:3306
    • 内部IP:你的Windows电脑局域网IP(可通过cmd执行ipconfig查看「IPv4地址」)
    • 协议:TCP
  4. 保存规则并重启路由器(部分路由器需重启生效)

5. Python连接配置

  1. 获取你的路由器公网IP:打开浏览器搜索「我的公网IP」,记录结果(如123.45.67.89)
  2. 修改Python连接代码,将host改为该公网IP:
import mysql.connector

try:
    db_conn = mysql.connector.connect(
        host="你的公网IP",
        port=3306,
        user="你的项目用户名",
        password="你的用户密码",
        database="目标数据库名"
    )
    print("连接成功")
except mysql.connector.Error as err:
    print(f"连接失败: {err}")

额外注意点

  • 若你的公网IP是动态分配的,建议配置DDNS服务绑定固定域名,避免IP变动后无法连接
  • 不要开放root用户的远程访问权限,使用专门的项目用户以降低安全风险
  • 若运营商分配的是内网IP(无法直接通过公网访问),可改用内网穿透工具(如frp)替代端口转发

内容的提问来源于stack exchange,提问作者Connor James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:37:05