局域网怎么访问mysql数据库?,如何远程访问mysql?

局域网访问MySQL数据库服务器的核心方法是:在MySQL配置中开启远程访问权限,为数据库用户授权允许指定IP连接,并确保服务器防火墙放行3306端口。 本文将按照实际排查顺序,从配置文件修改、用户授权、防火墙设置、客户端连接验证到常见故障逐步拆解,帮助你在一台内网机器上顺利连上另一台机器的MySQL。

修改MySQL配置文件开启远程监听

MySQL默认只在本地回环地址(127.0.0.1)上监听连接,外部机器自然无法访问,要允许局域网设备连接,第一步是修改MySQL的监听地址。

如何远程连接MySql数据库教程
加载中
如何远程连接MySql数据库教程

找到配置文件并修改bind-address

不同操作系统下,MySQL配置文件的位置略有差异:

  • Linux(Ubuntu/Debian):/etc/mysql/mysql.conf.d/mysqld.cnf
  • Linux(CentOS/RHEL):/etc/my.cnf 或 /etc/my.cnf.d/mysql-server.cnf
  • Windows:安装目录/my.ini

打开配置文件后,找到 bind-address 这一行,默认值是 0.0.1,请将其修改为:

bind-address = 0.0.0.0

0.0.0 表示监听所有网络接口,包括局域网IP,如果你只想允许特定IP访问,也可以填服务器实际的局域网IP,168.1.100,行业共识认为,在可信内网环境中使用 0.0.0 已经足够,但若想更收紧安全边界,指定具体IP更好。

修改后重启MySQL服务

配置改动不会立即生效,需要重启数据库服务:

# Linux系统
sudo systemctl restart mysql        # Ubuntu/Debian
sudo systemctl restart mysqld       # CentOS/RHEL
# Windows系统
net stop mysql
net start mysql

重启后,可以用以下命令确认MySQL是否已监听所有地址:

netstat -tlnp | grep 3306

如果看到 0.0.0:3306 或 ::3306,说明监听设置已生效,这一步是局域网能否访问的基础,如果监听地址没改,后续所有配置都是白费。

创建远程访问用户并授权

即使MySQL开始监听3306端口,默认的root用户通常只允许从localhost登录,你需要为局域网访问创建专用账号,或者临时为现有用户开通远程权限。

使用SQL语句授权远程用户

进入MySQL命令行:

mysql -u root -p

然后依次执行以下SQL语句:

CREATE USER 'lan_user'@'192.168.1.%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON . TO 'lan_user'@'192.168.1.%';
FLUSH PRIVILEGES;
  • '192.168.1.%' 表示允许来自 168.1.1 到 168.1.254 的客户端连接, 是通配符,如果你只希望一台机器连接,就写完整的IP,如 'lan_user'@'192.168.1.50'。
  • IDENTIFIED BY 后面的密码建议使用强密码,至少12位,包含大小写字母、数字和特殊符号。
  • GRANT ALL PRIVILEGES 授权了所有数据库的完整权限,实际生产中建议按需授权,例如只授权某个业务库:GRANT ALL PRIVILEGES ON mydb. TO 'lan_user'@'192.168.1.%';

局域网怎么访问mysql数据库?,如何远程访问mysql?

检查用户权限是否生效

执行以下命令查看用户授权情况:

SELECT user, host FROM mysql.user;

确认 lan_user 对应的host不是你之前设置的 localhost,而是 168.1.% 或者具体的IP,如果host显示为 ,则所有IP都允许连接,安全性较低,不建议在非受信环境使用。

关于root用户远程连接

很多人会问局域网怎么访问mysql数据库服务器时,直接尝试用root连,MySQL的root用户默认绑定localhost,虽然可以修改,但风险很高,行业共识认为,root只应保留在服务器本机使用,远程访问用专门授权的最小权限账号更安全,如果你必须使用root,可以执行:

ALTER USER 'root'@'%' IDENTIFIED BY 'NewPassword';

但这仅建议在完全可信的内网测试环境中操作,生产环境绝对不要这样做。

配置防火墙和网络策略

MySQL端口和用户权限都配好了,但局域网其他设备仍然连不上,多数情况下是防火墙拦住了3306端口,不同系统的防火墙配置方式不同,下面分别说明。

Linux防火墙(ufw和firewalld)

Ubuntu/Debian使用ufw时:

sudo ufw allow from 192.168.1.0/24 to any port 3306
sudo ufw reload

CentOS/RHEL使用firewalld时:

sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=3306 protocol=tcp accept'
sudo firewall-cmd --reload

允许整个局域网网段访问3306,如果你不想开放整个网段,可以替换为具体的客户端IP。

Windows防火墙

Windows系统下,在“高级安全Windows Defender防火墙”中新建入站规则:

  • 规则类型选择“端口”
  • 协议选择TCP,特定本地端口填3306
  • 操作选择“允许连接”
  • 作用域中设置远程IP地址范围,168.1.0/24
  • 配置文件勾选“专用”即可

完成后,防火墙规则会立即生效,不需要重启。

确认3306端口在局域网内可达

在另一台局域网机器上,使用telnet或nc检测端口连通性:

telnet 192.168.1.100 3306
nc -zv 192.168.1.100 3306

如果连接成功,会看到类似 Connected to 192.168.1.100 的提示,如果提示超时或拒绝连接,问题仍出在监听地址或防火墙。

使用客户端工具连接测试

完成上述步骤后,就可以在局域网内的其他电脑上尝试连接MySQL了,常见连接方式有命令行和图形化工具两种。

命令行方式连接

在客户端机器上安装MySQL客户端:

mysql -h 192.168.1.100 -P 3306 -u lan_user -p

输入密码后,如果进入MySQL命令行,说明连接成功。-h 指定服务器IP,-P 指定端口,-u 指定用户名。

图形化工具连接

比较常用的MySQL图形化客户端包括:

  • Navicat for MySQL:功能全面,支持连接管理、数据同步、结构对比,属于商用付费软件
  • 局域网怎么访问mysql数据库?,如何远程访问mysql?

    DBeaver:开源免费,支持多数据库,跨平台

  • MySQL Workbench:MySQL官方出品的免费工具,适合做数据库管理和开发

连接时填写以下信息:

  • 主机名或IP地址:服务器局域网IP(如 168.1.100)
  • 端口:3306
  • 用户名:lan_user
  • 密码:授权时设置的密码

如果连接报错,优先检查上面三个环节:服务器是否监听3306、用户授权是否包含客户端IP、防火墙是否放行。

连接报错代码对照

报错代码 提示信息 常见原因
2003 Can’t connect to MySQL server 网络不通、防火墙未放行、MySQL未监听3306
1045 Access denied for user 用户名密码错误、客户端IP不在授权host范围内
1130 Host is not allowed to connect 用户host设置为localhost,未授权远程IP
2013 Lost connection to MySQL server 网络不稳定、MySQL连接超时、跳板机或代理干扰

其中1130错误最常见,解决办法就是执行本文前面提到的授权SQL,将客户端IP加入host范围。

局域网访问MySQL的典型应用场景

不同场景下局域网访问MySQL的配置思路大致相同,但细节上有区别,下面梳理三种常见的实际场景。

开发团队共享数据库

多个开发人员在各自电脑上连同一台内网开发机上的MySQL,这种情况下,建议给每个人分配独立账号,不要所有人共用同一个账号,在授权时,可以将host统一设置为开发网段,168.1.%,方便新同事加入时无需改配置,将每个开发者的权限限制在业务数据库范围内,避免误操作删除其他库的数据。

内网业务系统连接数据库

公司内部部署的Web系统或内部工具需要从应用服务器连接MySQL,无需为每台应用服务器单独授权,如果应用服务器IP固定,使用 'app_user'@'192.168.2.15' 精确授权;如果应用服务器使用DHCP但网段固定,也可以使用 'app_user'@'192.168.2.%',端口方面,如果业务并发高,建议在MySQL配置中适当调大 max_connections 值,防止连接数不够。

局域网内临时数据共享

偶尔需要给同事共享一份MySQL中的数据,不必开放root账号,创建临时用户、授权指定库、设置短期密码即可,数据导出完毕后,删除临时用户并撤销授权,MySQL支持以下操作快速清理:

DROP USER 'temp_user'@'192.168.1.%';
FLUSH PRIVILEGES;

常见问题和排查思路汇总

配置完成后连不上,不要盲目重试,按以下顺序逐项排查,能在最短时间内定位问题。

先检查MySQL监听状态

在服务器上执行:

netstat -tlnp | grep mysql
ss -tlnp | grep 3306

如果只看到 0.0.1:3306,说明bind-address未生效,回去检查配置文件并重启服务,如果看到 0.0.0:3306,则排除监听问题。

局域网怎么访问mysql数据库?,如何远程访问mysql?

再检查用户授权是否匹配

查看用户表:

SELECT user, host, plugin, authentication_string FROM mysql.user;

重点确认 host 字段,如果host是 localhost,远程连接必然报1130错误,某些MySQL版本默认使用 caching_sha2_password 认证插件,部分老版本客户端工具可能不支持,导致连接失败,这时可以在MySQL中修改用户认证插件:

ALTER USER 'lan_user'@'192.168.1.%' IDENTIFIED WITH mysql_native_password BY 'StrongPassword123!';
FLUSH PRIVILEGES;

MySQL 8.0及以上版本建议直接用新版客户端,但如果你使用的是Navicat旧版或老代码,可能需要此操作。

主要问题:检查网络设备ACL

部分企业的局域网中,核心交换机或安全设备配置了ACL(访问控制列表),如果服务器和客户端在同一子网且防火墙已放行,但仍无法连接,需要联系网络管理员确认是否有策略拦截了3306端口的跨设备访问,这一块属于网络基础设施问题,不在MySQL配置层面解决。

局域网访问MySQL的常见问题Q&A

Q1:局域网电脑连接MySQL时提示10061错误怎么办?

10061错误表示主动拒绝连接,即服务器端口未开放或服务未启动,先在服务器上确认为什么3306端口没有被监听,使用 netstat -tlnp | grep 3306 检查,若没有输出,说明MySQL服务未启动或配置文件中的 bind-address 未生效,重启MySQL服务并再次检查监听状态,如果监听正常,则检查防火墙是否拦截了来自客户端IP的入站请求,注意Windows防火墙可能默认拦截3306入站,需要在入站规则中显式放行。

Q2:如何只允许固定的两台电脑访问局域网MySQL?

在MySQL授权时,不要使用 通配符,而是为每台电脑创建独立的用户或一个用户授权多个host,实际操作中,可以执行:

CREATE USER 'fixed_user'@'192.168.1.21' IDENTIFIED BY 'Password123!';
CREATE USER 'fixed_user'@'192.168.1.35' IDENTIFIED BY 'Password123!';
GRANT ALL PRIVILEGES ON . TO 'fixed_user'@'192.168.1.21';
GRANT ALL PRIVILEGES ON . TO 'fixed_user'@'192.168.1.35';
FLUSH PRIVILEGES;

同时在防火墙层面,限制入站规则只允许这两个IP连接3306端口,双重限制确保即使MySQL用户密码泄露,其他电脑也无法连接。

Q3:为什么我按照步骤配置完,局域网其他电脑还是连不上MySQL?

大部分情况下出在防火墙或者MySQL配置文件中 bind-address 这一项没有真正生效,首先确认MySQL的配置文件是否被多个配置文件覆盖,/etc/mysql/my.cnf 中通过 !includedir 引入了多个目录下的文件,你修改的配置可能被其他文件中的 bind-address 覆盖,第二种常见情况是修改完配置文件后没有重启MySQL,第三种情况是服务器本身有云平台安全组限制,如果你的服务器是云主机,即使系统内防火墙放行,云控制台的安全组规则也必须放行3306端口,逐一排查这三个位置,最终一定能定位到问题。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/698400.html

赞 (0)
ps4无法使用本服务器怎么办,ps4连接服务器失败怎么解决?
上一篇 2026年10月1日 17:23
服务器硬件选购有哪些误区?,怎么避免踩坑?
下一篇 2026年7月27日 12:12

相关推荐

  • 服务器go语言有什么优势?为什么大厂都用go语言开发服务器

    在当今的高并发网络架构与云计算时代,选择正确的编程语言对于构建高性能、高可用的后端系统至关重要,Go语言凭借其原生的并发支持、卓越的编译速度以及极低的资源占用,已经成为服务器开发领域的首选语言,是构建现代云原生基础设施的事实标准, 相比于传统的Java或C++,Go语言在保持高性能的同时,极大地降低了开发与维护……

    2026年4月7日
    8300
  • 服务器2核4g够用吗?2核4g服务器能承载多少人访问

    服务器2核4g配置是中小企业和个人开发者在建站与应用部署初期最具性价比的选择,它完美平衡了计算性能与成本投入,能够支撑日均数千至数万PV(页面浏览量)的访问需求,是轻量级业务场景下的“黄金标准”,对于绝大多数Web应用、测试环境及小型数据库而言,这一配置不仅能够提供稳定的运行环境,还能通过精细化的运维手段压榨出……

    2026年4月10日
    8700
  • 如何实现ASP中表格行背景颜色交替变换效果的最佳实践?

    在ASP中创建行背景颜色交替变换的表格,主要通过CSS结合服务器端循环逻辑实现,核心解决方案如下:使用CSS定义两种行样式,通过ASP循环输出时动态切换类名,这种技术能显著提升数据可读性,同时保持代码简洁高效,核心技术实现步骤CSS样式定义/* 基础表格样式 */.data-table { width: 100……

    2026年2月6日
    12910
  • 服务器ip地址在香港有什么影响?香港服务器IP被封怎么办

    服务器IP地址在香港,是企业拓展亚太市场及构建跨境业务架构的战略性选择,其核心价值在于完美平衡了国际带宽的开放性与内地访问的低延迟特性,香港作为全球互联网枢纽,拥有得天独厚的网络资源,既无需繁琐的ICP备案流程,又能提供接近内地本地网络的访问速度,这种“免备案、速度快、连通性强”的三位一体优势,使其成为连接海内……

    2026年4月8日
    7900
  • {AIREC推荐}是什么意思?{AIREC推荐}功能怎么用?

    AIREC推荐系统的核心价值在于通过人工智能算法重构信息分发逻辑,实现用户需求与内容供给的精准匹配,该技术通过深度学习用户行为数据,建立动态偏好模型,显著提升推荐准确率,已成为数字内容平台的核心竞争力,技术原理与核心优势多维度数据融合系统整合用户显性行为(点击、收藏)与隐性特征(停留时长、滑动轨迹),构建包含2……

    2026年3月14日
    11400
  • VPS被DDoS攻击了怎么办?,如何防御DDoS攻击?

    VPS 被 DDoS 攻击,最直接有效的办法是启用高防 IP 或 CDN 进行流量清洗,同时联系服务商解除黑洞,并从源头上限制不必要的端口和协议,VPS 被 DDoS 攻击怎么办?三步应急指南你正用 VPS 跑着业务,突然 SSH 连不上,网站打不开,服务商发来“流量异常”通知——大概率被 DDoS 了,别慌……

    2026年7月30日
    1500
  • Excel赔率怎么计算?excel赔率计算公式

    使用Excel处理赔率的核心在于利用公式自动计算隐含概率与凯利值,通过数据透视表快速筛选高价值投注选项,从而将主观猜测转化为基于数据的理性决策,在体育博彩和数据分析领域,赔率不仅仅是数字游戏,更是市场情绪与概率统计的集合体,许多新手玩家往往被复杂的赔率格式搞得晕头转向,而老手则习惯将数据导入表格,通过肉眼无法察……

    2026年7月10日
    9100
  • 构建企业级数据仓库五步法是什么?如何搭建企业级数据仓库

    构建企业级数据仓库的核心在于“统一标准、分层治理、实时响应”,通过五步法打通数据孤岛,实现从业务数据到决策价值的闭环转化,在数字化转型进入深水区的2026年,企业面临的最大痛点不再是“有没有数据”,而是“数据能不能用、准不准、快不快”,许多企业在初期盲目搭建数据平台,结果导致数据仓库沦为“数据沼泽”,存储成本高……

    2026年5月27日
    3700
  • ai中存储时如何去掉白色背景,AI导出图片怎么去白底

    在Adobe Illustrator(简称AI)的设计工作中,实现透明背景存储是确保设计作品在不同媒介上完美融合的关键步骤,核心结论是:AI中去掉白色背景的本质并非在存储时“删除”白色,而是在绘制阶段利用“剪切蒙版”或“图像描摹”功能建立透明区域,并在存储为Web所用格式或导出为PNG时,正确配置透明度选项……

    2026年3月6日
    12900
  • AspNet中JS分页异步加载如何实现 | AspNet分页优化技巧

    在ASP.NET Web Forms或ASP.NET Core MVC/Razor Pages应用中,实现基于JavaScript的分页进行异步数据加载,是提升用户体验、减少页面刷新、优化性能的关键技术,其核心在于前端通过JavaScript发起AJAX请求,后端提供数据接口返回分页结果,前端动态渲染数据并更新……

    2026年2月12日
    13130

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注