加油
努力

本地局域网中如何实现多台电脑访问同一个数据库?

在本地局域网中让多台电脑访问同一个数据库,是常见的网络应用需求。以下是实现方法和步骤:


一、基本思路

将数据库部署在局域网中的一台电脑(或服务器)上,其他电脑通过该主机的 IP地址 + 端口 访问数据库。


二、实现步骤

1. 选择数据库类型

常见支持多客户端访问的数据库:

  • MySQL / MariaDB
  • PostgreSQL
  • SQL Server
  • SQLite(不推荐用于多机并发,适合单机)
  • MongoDB(NoSQL)

推荐使用:MySQL 或 PostgreSQL,支持多用户并发连接。


2. 安装并配置数据库服务器

MySQL 为例:

(1) 在一台电脑(如 A 电脑)安装 MySQL 服务
# Ubuntu/Debian
sudo apt install mysql-server

# Windows: 下载 MySQL Installer 并安装
(2) 启动 MySQL 服务
sudo systemctl start mysql
sudo systemctl enable mysql

3. 配置允许远程访问

默认情况下,MySQL 只允许本地连接(localhost),需要修改配置:

(1) 修改配置文件 my.cnfmysqld.cnf

路径通常为:

  • Linux: /etc/mysql/mysql.conf.d/mysqld.cnf
  • Windows: C:ProgramDataMySQLMySQL Server x.xmy.ini

找到以下行并注释或修改:

# bind-address = 127.0.0.1
bind-address = 0.0.0.0

0.0.0.0 表示监听所有网络接口。

保存后重启 MySQL:

sudo systemctl restart mysql

4. 创建可远程访问的用户

登录 MySQL:

mysql -u root -p

执行 SQL 命令创建用户并授权:

-- 创建用户,允许从任意 IP 连接(也可指定特定 IP)
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';

-- 授予数据库权限(例如对 test_db 的所有权限)
GRANT ALL PRIVILEGES ON test_db.* TO 'remote_user'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

5. 获取服务器电脑的局域网 IP 地址

在 A 电脑上运行:

  • Windows: ipconfig → 查找 IPv4 地址(如 192.168.1.100
  • Linux/macOS: ifconfigip a

记下这个 IP(比如 192.168.1.100


6. 允许防火墙通过数据库端口

确保防火墙放行数据库端口:

  • MySQL 默认端口:3306
  • PostgreSQL:5432
  • SQL Server:1433

例如,在 Ubuntu 上开放 3306:

sudo ufw allow 3306

Windows 用户:进入“高级安全防火墙” → 添加入站规则,放行 TCP 3306。


7. 其他电脑连接数据库

在 B、C 等电脑上,使用数据库客户端连接:

使用命令行连接 MySQL:
mysql -h 192.168.1.100 -P 3306 -u remote_user -p
使用图形工具(如 Navicat、DBeaver、HeidiSQL):
  • 主机:192.168.1.100
  • 端口:3306
  • 用户名:remote_user
  • 密码:your_password

三、注意事项

  1. 安全性

    • 避免使用 root 用户远程登录。
    • 设置强密码。
    • 如果只允许局域网内访问,可通过防火墙限制 IP 范围。
  2. 网络稳定性

    • 确保所有设备在同一子网(如都属于 192.168.1.x)。
    • 检查路由器是否隔离了设备间的通信(关闭 AP 隔离)。
  3. 数据库性能

    • 多人频繁读写时,注意数据库负载和锁机制。
  4. SQLite 不适用

    • SQLite 是文件型数据库,不适合多机并发访问,容易损坏。

四、替代方案(可选)

  • 使用小型数据库服务器:如树莓派运行 MySQL,作为专用数据库主机。
  • 使用 Docker 容器:在某台电脑上用 Docker 启动数据库服务,便于管理。
  • NAS 设备:部分 NAS 支持安装数据库服务(如 Synology 的 MariaDB 套件)。

总结

✅ 实现多台电脑访问同一数据库的关键点:

  1. 数据库服务开启远程连接;
  2. 正确配置用户权限;
  3. 防火墙放行端口;
  4. 使用局域网 IP 进行连接。

只要配置正确,局域网内多台电脑即可稳定共享一个数据库。

如有具体数据库类型或操作系统,可提供更详细指导。

云服务器