局域网怎么访问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年10月1日 17:25

相关推荐

  • AIoT酒店发展趋势如何?AIoT智慧酒店未来前景分析

    AIoT技术正在重塑酒店行业的底层逻辑,其核心发展趋势已从单一设备的智能化转向全场景生态的互联互通,未来的酒店竞争,本质上是数据算力与服务体验的竞争,通过人工智能(AI)与物联网(IoT)的深度融合,酒店将实现运营效率的指数级提升与个性化服务的精准交付,最终构建出“懂感知、有温度、零打扰”的智慧住宿空间, 场景……

    2026年3月12日
    12800
  • 美国DesiVPS独立服务器测评,110美元/月方案实测对比,美国VPS哪家好用

    DesiVPS 110美元/月独立服务器方案在2026年仍具备极高的性价比与性能稳定性,特别适合对带宽需求大、需部署AI推理或高并发Web服务的中小企业及开发者,其核心优势在于无IP封锁的北美节点与硬件级资源独享,DesiVPS 110美元方案核心配置与硬件解析在2026年的VPS市场中,DesiVPS凭借其独……

    2026年5月14日
    4700
  • 苹果8p连接服务器失败怎么解决,是什么原因

    苹果8p出现连接服务器的提示,多数情况是网络验证受阻或系统服务暂时抽风,不用急着送修,先按本文顺序自己排查,大概率能解决,苹果8p出现连接服务器怎么办:看准场景再动手同样是“无法连接服务器”,iPhone 8 Plus上显示的提示位置不一样,对应的解决方法差别很大,先看一眼手机屏幕,确认属于下面哪种情况,再决定……

    2026年9月26日
    500
  • 电脑版MC一直进不去服务器怎么回事,怎么解决?

    电脑版我的世界进不去服务器,核心解决思路是:先检查网络与DNS,再确认游戏版本,然后排查防火墙与杀毒软件,最后检查服务器状态与Java设置,我的世界服务器进不去怎么办?先检查网络与版本遇到服务器连接失败,不要急着重装游戏,大多数情况下,问题出在网络本地环境或者游戏版本匹配上,按照下面步骤走一遍,省时省力,网络基……

    2026年8月7日
    2000
  • ASPX网站模板如何安装 | 网站搭建详细教程

    安装ASPX网站模板需确保服务器环境支持.NET框架,核心步骤包括环境配置、文件部署、数据库连接及权限设置,服务器环境准备IIS配置Windows服务器启用IIS角色:Install-WindowsFeature Web-Server, Web-Asp-Net45, Web-Mgmt-Tools启用应用程序池的……

    2026年2月8日
    10940
  • PS3发生了服务器错误怎么办,如何快速解决?

    当PS3提示“服务器错误”,绝大多数情况下问题出在网络连接或官方服务状态上,并非主机硬件损坏,通过调整网络参数或更换连接方式通常就能解决,判断“服务器错误”的三种常见表现PS3的服务器错误提示并不完全相同,不同表现对应不同的处理思路,确认错误是出现在登录PSN账号时,还是游戏联机中途,直接决定下一步操作方向,登……

    2026年9月29日
    400
  • 我的世界服务器怎么改密码是什么意思,怎么操作?

    我的世界服务器改密码,指的是修改你登录服务器所需的验证密码,或是服务器管理后台的访问密码,具体操作取决于你是普通玩家还是服务器管理员,不同场景方法完全不同,我的世界服务器改密码是什么意思这个问题看似简单,但很多玩家其实混淆了两个概念,我的世界服务器有两种密码体系,一种是玩家登录游戏时输入的密码,另一种是服务器控……

    程序编程 2026年8月10日
    1300
  • AIoT边缘计算的重要性有哪些,为何企业需要AIoT边缘计算?

    在万物互联时代,数据的爆发式增长正倒逼计算架构发生根本性变革,AIoT边缘计算的重要性已不再局限于技术层面的优化,而是成为企业实现数字化转型、构建智能生态的核心底座,其核心价值在于:通过将计算能力下沉至网络边缘,实现了数据的高效预处理与即时响应,彻底解决了云端计算在带宽负载、实时性及隐私安全方面的固有瓶颈,是智……

    2026年3月15日
    11300
  • 我的世界pe服务器怎么加数据包,具体操作教程是什么?

    给《我的世界》PE服务器(基岩版)加数据包,核心方法是先把存档文件夹从服务器后台取出来,把行为包或资源包放进对应目录,再修改清单文件并重启服务端,绝大多数加载失败都是因为没分清行为包和模组、改错配置文件或版本不匹配,我的世界pe服务器加载数据包前先要弄清三件事很多玩家初次接触“数据包”这个概念时,第一反应是去搜……

    2026年10月9日
    500
  • 新手建站到底选云主机还是物理服务器?,有什么区别

    先看结论再选型新手建站选云主机比物理服务器更合适,核心原因是成本可控、上手门槛低、弹性扩展能力强,而物理服务器更适合有明确高配置需求或合规要求的成熟业务,这不是说物理服务器不好,而是从新手阶段的实际处境出发,云主机在绝大多数场景下是更优解,下面从本质区别、适用场景、价格维度、实操决策四个层面拆开讲清楚,新手建站……

    程序编程 2026年11月8日
    700

发表回复

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