win7 打开 3306 端口核心操作就是在 Windows 防火墙里面新建入站规则,放行 TCP 协议 3306 端口,同时要确认监听 3306 端口的程序也就是 MySQL 服务已经正常启动,因为 3306 是 MySQL 数据库默认端口,单纯防火墙放行还不够,如果数据库本身没有监听这个端口,外部设备依旧无法连接,很多新手容易混淆,以为只要防火墙开端口就可以连通,实际上端口分为监听状态和放行状态两层,监听是软件主动占用 3306 端口等待连接,放行是防火墙允许外部数据包进入这个端口,两层全部正常才能远程访问,win7 自带防火墙默认会拦截外部主动访问的端口,MySQL 安装完成之后默认只允许本机访问,没有自动添加防火墙规则,所以远程连接就会失败,除此之外,路由器端口映射 本机 IP 变动 MySQL 授权远程账号 第三方安全软件拦截,也会导致就算 win7 打开 3306 端口,还是无法远程连接,排查的时候要按照软件监听 防火墙放行 账号授权 网络路由这个顺序逐层检查。
一 确认 MySQL 是否已经监听 3306 端口
1 按下 win 加 R,输入 cmd 回车,打开命令提示符
2 输入 netstat -ano 回车,查看全部端口监听列表
3 在列表里面查找 TCP 0.0.0.0:3306,如果可以看到这一行,代表 MySQL 已经监听所有网卡的 3306 端口
4 如果只显示 127.0.0.1:3306,代表 MySQL 只允许本机访问,需要修改 my.ini 配置文件,把 bind-address 参数注释或者改成 0.0.0.0,修改之后重启 MySQL 服务
5 按下 win 加 R 输入 services.msc,打开服务列表,找到 MySQL 对应的服务,确认服务状态是正在运行,如果停止就手动启动服务
二 win7 防火墙新建入站规则放行 3306 端口
1 点击开始菜单,打开控制面板,查看方式改成小图标,找到 Windows 防火墙
2 在左侧菜单点击高级设置,打开高级安全 Windows 防火墙
3 在左侧选中入站规则,右侧点击新建规则
4 规则类型选择端口,点击下一步
5 协议选择 TCP,特定本地端口填写 3306,点击下一步
6 选择允许连接,点击下一步
7 配置文件三个选项域 专用 公用全部勾选,根据自己网络环境选择,一般全部勾选方便测试,下一步
8 规则名称填写 MySQL 3306 端口,描述可以填写远程访问数据库,点击完成
9 完成之后在入站规则列表找到刚创建的规则,确认规则是启用状态
三 MySQL 数据库远程访问授权
防火墙放行 win7 的 3306 端口之后,MySQL 默认账号 root 一般只允许本机登录,还需要授权远程账号
1 打开 MySQL 命令行客户端,登录数据库
2 执行授权语句,允许远程主机使用账号访问数据库
3 执行刷新权限语句,让授权立刻生效
4 注意账号密码强度,公网环境开放 3306 端口风险很高,容易被扫描爆破,建议不要长期暴露在公网
四 额外网络层排查
| 故障场景 | 处理方案 |
|---|---|
| 本机防火墙已经放行 3306,内网其他电脑还是连不上 | 确认两台电脑在同一个局域网,关闭第三方杀毒软件 安全管家,这类软件自带防火墙会额外拦截 3306 端口 |
| 需要外网访问 3306 端口 | 登录路由器后台,做端口映射,把外网 3306 转发到这台 win7 电脑内网 IP,同时确认这台 win7 设置固定静态 IP,防止重启之后 IP 变化导致映射失效 |
| netstat 查不到 3306 监听 | 检查 my.ini 配置,重启 MySQL 服务,确认 MySQL 安装没有出错,端口是否被改成其他数值 |
| 端口被别的程序占用 3306 | 执行 netstat -ano 找到占用 PID,在任务管理器详细信息查看对应程序,结束该程序或者修改 MySQL 端口 |
五 验证端口是否成功打开
1 在另外一台电脑,打开 cmd,输入 telnet win7 电脑内网 IP 3306
2 如果窗口黑屏或者出现 MySQL 提示,代表 win7 的 3306 端口已经成功打开并且连通
3 如果提示连接失败,继续回头检查 MySQL 监听 防火墙规则 第三方安全软件拦截
4 也可以使用端口扫描工具,扫描目标 IP 的 3306 端口,确认端口状态为开放
完成 MySQL 监听配置,防火墙入站规则创建成功,远程授权完成,并且测试 telnet 连接 3306 端口可以正常连通,就代表 win7 打开 3306 端口全部配置完成,公网使用一定要做好安全防护,定期修改数据库密码,避免数据库被入侵。
【常见问题】
问题 1 WIN7 怎么打开 3306 端口 防火墙规则做好了还是连不上
回答 1 WIN7 怎么打开 3306 端口,防火墙规则做好依旧连不上,优先检查 MySQL 是否监听 0.0.0.0:3306,同时确认 MySQL 账号已经授权远程访问,还要排查第三方安全软件拦截,继续处理 WIN7 打开 3306 端口后续连通问题。
问题 2 WIN7 怎么打开 3306 端口 3306 端口是必须 TCP 协议吗
回答 1 WIN7 怎么打开 3306 端口,MySQL 数据库使用的是 TCP 协议,新建防火墙入站规则的时候必须选择 TCP 协议,不能选择 UDP,否则 WIN7 打开 3306 端口之后远程数据库连接依然失败。
问题 3 WIN7 怎么打开 3306 端口 重启电脑之后规则失效怎么办
回答 1 WIN7 怎么打开 3306 端口,重启之后规则失效,一般是优化软件开机自动关闭防火墙规则,或者防火墙服务被禁用,确认 Windows Firewall 服务设置为自动启动,重新启用入站规则,保障 WIN7 打开 3306 端口长期有效。
问题 4 WIN7 怎么打开 3306 端口 公网开放 3306 有什么风险
回答 1 WIN7 怎么打开 3306 端口,公网直接开放 3306 端口很容易被扫描器探测到,遭受密码爆破 数据库入侵,建议尽量使用内网访问,公网访问可以搭配 VPN,降低 WIN7 打开 3306 端口带来的安全风险。
【免责申明】
本文操作教程仅作为技术参考,开放数据库端口存在网络入侵风险,配置防火墙 修改数据库授权都存在安全隐患,操作前请自行备份数据库数据,不同 MySQL 版本配置参数存在差异,操作结果不做绝对保证,因自行操作产生的数据丢失 服务器被入侵等相关后果,由操作者自行承担。


