笔记(自用):在 Windows 同一局域网中访问 MySQL 8 数据库
新增用户创建用户(允许任意局域网IP访问,密码建议复杂)授予所有数据库权限(生产环境建议缩小权限范围)刷新权限。
新增用户
创建用户(允许任意局域网IP访问,密码建议复杂)
CREATE USER 'lan_user'@'%' IDENTIFIED BY 'StrongPassword123!';
授予所有数据库权限(生产环境建议缩小权限范围)
GRANT ALL PRIVILEGES ON *.* TO 'lan_user'@'%' WITH GRANT OPTION;
刷新权限
FLUSH PRIVILEGES;
以下是针对 Windows 系统 + MySQL 8 的局域网共享访问完整方案(含防火墙配置、权限设置和验证步骤):
一、数据库服务器配置(主机操作)
1. 允许远程连接(修改配置文件)
① 找到 MySQL 8 配置文件 `my.ini`(默认路径:`C:\ProgramData\MySQL\MySQL Server 8.0\my.ini`)
② 备份原文件后,修改以下内容:
```ini
[mysqld]
注释或修改为 0.0.0.0 允许所有局域网IP访问
bind-address=0.0.0.0
(可选)降低加密强度(部分客户端兼容问题)
default_authentication_plugin=mysql_native_password
```
③ 重启 MySQL 服务(Win + R → `services.msc` → 找到 `MySQL80` 服务 → 重启)
2. 防火墙开放 3306 端口
① 打开 Windows 防火墙高级安全设置
② 新建入站规则:
- 规则类型:端口
- 协议:TCP
- 本地端口:3306
- 操作:允许连接
- 配置文件:勾选“专用”(局域网)
- 名称:MySQL 3306 Allow
3. 创建远程访问用户(含加密兼容)
以管理员身份打开 MySQL 命令行(或 MySQL Shell),执行:
二、客户端连接测试(其他电脑操作)
1. 命令行验证(需安装 MySQL 客户端)
```cmd
mysql -h 主机IP -P 3306 -u lan_user -p
示例:mysql -h 192.168.1.100 -P 3306 -u lan_user -p
```
输入密码后若能进入 MySQL 提示符,说明连接成功。
2. 图形化工具连接(以 Navicat 为例)
- 新建连接 → 主机:`主机IP` → 端口:3306 → 用户名:`lan_user` → 密码:`StrongPassword123!`
- 测试连接成功后保存配置。
三、常见问题排查
1. 防火墙拦截:检查 Windows 防火墙是否放行 3306 端口(控制面板 → 系统和安全 → Windows Defender 防火墙)。
2. MySQL 版本兼容:MySQL 8 默认加密方式(`caching_sha2_password`)可能导致旧客户端(如 Navicat 12 以下)连接失败,需执行 `encrypt.sql` 脚本。
3. IP 地址问题:确保主机和客户端在同一局域网(IP 前缀相同,如 192.168.1.x),主机可通过 `ipconfig` 查看局域网 IP。
4. 服务未启动:主机的 MySQL 服务需处于“运行”状态(`services.msc` 检查)。
四、安全建议(生产环境必看)
- 限制允许的 IP:将 `CREATE USER` 语句中的 `%` 替换为具体 IP(如 `192.168.1.%` 仅允许 192.168.1 段访问)。
- 定期修改密码:使用 `ALTER USER` 命令更新密码。
- 关闭不必要的端口:仅开放 3306 端口,其他端口保持关闭。
- 启用 SSL 连接(MySQL 8 支持):通过 `GRANT ... REQUIRE SSL` 强制加密传输。
按照以上步骤操作,同一局域网内的 Windows 设备即可安全访问主机的 MySQL 8 数据库。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)