MySQL开启外网访问:配置授权与Windows防火墙放行教程

Dylan
Dylan
发布时间:2026-10-15| 4人浏览过
原创

本文将详细介绍如何配置MySQL以允许外网连接,核心涉及数据库用户权限的修改以及Windows防火墙规则的添加,确保开发或备份需求下的远程访问畅通。

MySQL权限配置

要允许远程IP连接MySQL,必须修改数据库中root用户(或特定账号)的主机属性,并将其设为允许任意主机(%)连接。请按顺序执行以下SQL语句:

第1步:登录MySQL数据库

目的:进入MySQL命令行界面以便执行管理命令。

mysql -u root -p

第2步:修改用户Host属性

目的:将root用户允许连接的主机范围扩大至所有IP地址。默认情况下,MySQL通常只允许localhost(本地)访问。

update user set host='%' where user = 'root';

第3步:刷新权限

目的:使上述更改立即生效。

flush privileges;

第4步:授予完整访问权限

目的:确保该用户拥有对所有数据库和表的所有操作权限(生产环境建议根据实际需求限制权限)。

grant all privileges on *.* to 'root'@'%' with grant option;

⚠️ 安全风险提示:将Root用户对所有来源开放全权访问存在极大安全隐患,仅建议在测试环境或内网隔离良好的场景中短暂使用。正式环境建议创建专用账户并限制具体IP段。

Windows防火墙设置

即使数据库权限已配置完成,如果服务器端的防火墙拦截了连接请求,外网依然无法访问。以下是Windows系统的防火墙放行步骤:

第5步:进入高级安全Windows Defender 防火墙

入口:控制面板 → Windows Defender 防火墙 → 高级设置。

或者直接在开始菜单搜索“高级安全Windows Defender 防火墙”并打开。 上图为控制面板中防火墙的高级设置入口示意。

第6步:新建入站规则

在左侧面板点击“入站规则”,然后在右侧操作栏点击“新建规则...”。 上图为入站规则中新建操作的按钮位置。

第7步:选择规则类型

在弹出的向导中,选择“端口”,然后点击“下一步”。 上图为选择端口作为规则类型的界面。

第8步:配置端口信息

选择“特定本地端口”,在文本框中输入MySQL默认端口 3306,随后一直点击“下一步”,直到最后一步。 上图为输入自定义端口3306的配置界面。

在最后的命名阶段,将规则名称设置为如“MySQL Access”或“3306端口”,描述可留空或直接确认完成。此时,防火墙已放行对MySQL服务的访问请求。

总结

通过上述两步操作——内部修改数据库Host与Grant权限,外部配置防火墙入站规则,即可实现MySQL的外网访问功能。需要注意的是,若服务器使用了云服务提供商的安全组策略,还需在云端控制台额外添加入站规则放行TCP 3306端口。以上就是MySQL开启外网访问的全过程记录,更多关于数据库远程配置与安全防护的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。