【无标题】

标题本地免费云数据库


第一步:准备一台「共享主机」

找一台你们小组里最不容易关机的电脑:

  • 可以是某个人的台式机(下班不关)
  • 或者一台闲置的笔记本(插着电就行)
  • 或者你们已有的内网服务器

如果所有人都是笔记本、每天带回家关机 → 那本方案不适合,告诉我,我换 SQLite+网盘方案


第二步:在那台电脑上安装 Docker

Windows(10/11 专业版/企业版)

  1. 下载 Docker Desktop:https://www.docker.com/products/docker-desktop/
  2. 双击安装,勾选 Use WSL 2 instead of Hyper-V(默认勾了就不用改)
  3. 安装完重启电脑
  4. 启动 Docker Desktop,看到右下角鲸鱼图标就是成功了

⚠️ Windows 家庭版用户:需要先装 WSL 2,步骤稍多,告诉我,我给你单独的命令

Mac(Intel 或 Apple Silicon)

  1. 下载 Docker Desktop:https://www.docker.com/products/docker-desktop/
  2. 拖到 Applications 文件夹
  3. 启动,同意许可,等右下角鲸鱼图标出现

Linux(Ubuntu/Debian/CentOS)

bash 复制代码
# 一行命令安装
curl -fsSL https://get.docker.com | sudo sh
# 把当前用户加入 docker 组(这样不用每次 sudo)
sudo usermod -aG docker $USER
# 重新登录终端,或执行 newgrp docker

第三步:一条命令启动 MySQL(完整版)

打开那台电脑的终端(Windows 用 PowerShell 或 cmd,Mac/Linux 用 Terminal),复制下面整段执行:

bash 复制代码
docker run -d \
  --name team-mysql \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=team123456 \
  -v team_mysql_data:/var/lib/mysql \
  --restart always \
  mysql:8.0

如果 Mac Apple Silicon(M1/M2/M3),用下面这个(兼容模式):

bash 复制代码
docker run -d \
  --name team-mysql \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=team123456 \
  -v team_mysql_data:/var/lib/mysql \
  --restart always \
  mysql:8.0 --platform linux/amd64

执行后你会看到: 一串长长的字符串(容器 ID),比如 7a3f8d9e2b1c... → 说明启动成功了。


第四步:验证 MySQL 是否跑起来了

bash 复制代码
docker ps

你应该看到:

复制代码
CONTAINER ID   IMAGE       STATUS          PORTS
xxxxxx         mysql:8.0   Up 2 minutes    0.0.0.0:3306->3306/tcp

看到 Up3306 就说明成功了。


第五步:查一下这台电脑的内网 IP

Windows

bash 复制代码
ipconfig

找到 IPv4 地址 ,通常是 192.168.x.x10.x.x.x

Mac/Linux

bash 复制代码
ifconfig
# 或者
ip addr

找到 inet 192.168.x.x 这样的行

假设你找到的 IP 是 192.168.1.100(记下来)


第六步:测试本地能否连上

在同一台电脑上,执行:

bash 复制代码
docker exec -it team-mysql mysql -uroot -pteam123456

如果看到 mysql> 提示符,说明数据库正常运行。

输入 exit 退出。


第七步:让小组其他人连接

首先要确认:防火墙是否开放了 3306 端口?

Windows(最常遇到问题):

  • 打开「Windows 安全中心」→「防火墙和网络保护」→「高级设置」
  • 点「入站规则」→「新建规则」
  • 规则类型:端口 → 下一步
  • 协议:TCP,特定本地端口:3306 → 下一步
  • 允许连接 → 下一步
  • 全部勾选 → 下一步
  • 名称写 MySQL 3306 → 完成

Mac:默认防火墙不拦截,一般不用动

Linux

bash 复制代码
sudo ufw allow 3306/tcp

发给群里的连接信息:

复制代码
数据库类型:MySQL
主机:192.168.1.100   (换成你实际查到的 IP)
端口:3306
用户名:root
密码:team123456

其他人用 Navicat / DBeaver / DataGrip / MySQL Workbench 都能连。


第八步:创建一个只读账号(可选,但推荐)

连上数据库后执行:

sql 复制代码
-- 创建一个只能查、不能改的账号,适合给只看数据的同事
CREATE USER 'readonly'@'%' IDENTIFIED BY 'readonly123';
GRANT SELECT ON *.* TO 'readonly'@'%';
FLUSH PRIVILEGES;

然后你可以把 readonly / readonly123 这套账号发群里,比较安全。


常见问题和处理

问题 怎么办
别人连不上,提示 10060/10061 检查共享主机的防火墙是否开放 3306
别人连不上,提示 1130 MySQL 默认 root 只能 localhost 连,需要执行授权:GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'team123456'; FLUSH PRIVILEGES;
关机重启后,容器还在吗? 在的,因为有 --restart always,电脑重启后 MySQL 会自动启动
数据会丢吗? 不会,因为用了 -v team_mysql_data,数据存在 Docker 卷里
想删除重来? docker stop team-mysql && docker rm team-mysql,数据还在卷里;想彻底删数据:docker volume rm team_mysql_data

相关推荐
ACP广源盛139246256736 分钟前
Qwen3.8‑2.4T 开源落地@ACP#国产 Serdes 长距离视频传输芯片 GSV5800 在私有化 AI 服务中的价值与应用场景
大数据·数据库·人工智能·嵌入式硬件·矩阵·开源·音视频
oradh10 分钟前
Oracle RMAN备份脚本、RMAN还原恢复测试、RMAN常用语句
数据库·oracle·rman备份脚本·rman还原恢复测试·rman常用语句
汽车仪器仪表相关领域13 分钟前
ZDT‑I伺服电机测试系统:四象限动态加载
大数据·数据库·分布式·功能测试·汽车·压力测试·可用性测试
云贝教育-郑老师38 分钟前
Oracle 块清除(Block Cleanout):commit 之后,数据块里的“战场“谁来打扫?
数据库·学习·oracle
gs801401 小时前
Java 响应式编程详解:从 Flux、Mono 到 Spring WebFlux 技术生态
数据库·oracle
一只旭宝1 小时前
预约系统版本2(pyhton+flask可视化版本)
服务器·数据库·c++·笔记·python·flask
__zRainy__1 小时前
Node系列 · ORM:mysql 驱动程序
数据库·后端·mysql·node.js·orm
程序员夏洛1 小时前
MySQL 中如果发生死锁应该如何解决?
数据库·mysql
肠畔码农1 小时前
Redis 深度内核解析与高性能运维调优指南
运维·数据库·redis
钱六两1 小时前
SpringAI集成RAG实操(postgresql+pgvector)中(集成到项目中)
数据库·postgresql