局域网部署MySQL需三步:一改bind-address为0.0.0.0或局域网IP并重启服务;二创建授权用户如'myuser'@'192.168.1.%'并刷新权限;三开放防火墙3306端口,最后用telnet或nc验证连通性。

在局域网中部署 MySQL,核心是让同一内网下的其他设备能访问这台 MySQL 服务器,而不是仅限于本机(localhost)。关键在于配置 MySQL 的绑定地址、用户权限和防火墙规则。
修改 MySQL 绑定地址,允许局域网连接
MySQL 默认只监听 127.0.0.1(即仅本地),需改为监听局域网 IP 或所有接口:
- 编辑 MySQL 配置文件:Linux 通常是
/etc/mysql/mysql.conf.d/mysqld.cnf,Windows 是my.ini或my.cnf(位于 MySQL 安装目录) - 找到
bind-address行,将其改为:bind-address = 0.0.0.0(监听所有 IPv4 地址)
或更安全地指定为本机局域网 IP,例如:bind-address = 192.168.1.100 - 保存后重启 MySQL 服务:
Linux:`sudo systemctl restart mysql`
Windows:在服务管理器中重启 “MySQL” 服务
创建或授权支持远程登录的数据库用户
root 用户默认通常不允许从非本地主机登录,需显式授权:
本文档主要讲述的是使用Nexus搭建Maven私服;私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。感兴趣的朋友可以过来看看
- 用 root 登录 MySQL:
mysql -u root -p - 执行授权命令(以允许从任意局域网 IP 登录为例):
CREATE USER 'myuser'@'192.168.1.%' IDENTIFIED BY 'your_password';GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.%';FLUSH PRIVILEGES; - 说明:
192.168.1.%表示允许该网段(如 192.168.1.2–192.168.1.254)所有设备连接;若只允许某一台(如 192.168.1.50),可写成'myuser'@'192.168.1.50'
检查并开放系统防火墙端口
MySQL 默认使用 3306 端口,若防火墙拦截,外部设备将无法建立 TCP 连接:
- Linux(ufw):
sudo ufw allow 3306 - Linux(firewalld):
sudo firewall-cmd --permanent --add-port=3306/tcp,然后sudo firewall-cmd --reload - Windows:在“高级安全 Windows 防火墙”中新建入站规则,允许 TCP 3306 端口
- 验证是否生效:在另一台局域网电脑上运行
telnet 192.168.1.100 3306(Windows)或nc -zv 192.168.1.100 3306(Linux/macOS),能连通表示端口已开放
客户端连接测试与常见问题
在其他局域网设备上,用标准 MySQL 客户端工具连接:
- 命令行示例:
mysql -h 192.168.1.100 -u myuser -p - 图形工具(如 MySQL Workbench、DBeaver)填写主机 IP、端口、用户名、密码即可
- 常见报错及排查:
•Host 'x.x.x.x' is not allowed to connect→ 检查用户 host 是否匹配,权限是否刷新
•Can't connect to MySQL server→ 检查 bind-address、防火墙、网络连通性(ping + telnet)
• 连接成功但查不到库 → 用户未被授予对应数据库权限,需用GRANT ... ON database_name.*显式授权









