【无标题】

标题本地免费云数据库


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

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

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

如果所有人都是笔记本、每天带回家关机 → 那本方案不适合,告诉我,我换 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

相关推荐
曹牧7 小时前
Oracle:前缀匹配之REGEXP_LIKE
数据库·oracle
暴躁小师兄数据学院10 小时前
【AI大数据工程师特训笔记】第05讲:关联查询
数据库·sql·oracle
倔强的石头_10 小时前
《Kingbase护城河》——跨平台环境下的数据库联调实战
数据库
lzhdim10 小时前
SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析
数据库·sql·mysql·json
杨云龙UP10 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
kingwebo'sZone10 小时前
在Cent上安装Mysql 8.0的遇到的问题和解决办法
数据库·mysql·adb
幽络源小助理11 小时前
最新知识付费系统网站源码 PC+H5双端 附安装教程 – 幽络源源码网
大数据·数据库
小白考证进阶中11 小时前
Oracle OCP证书报考&考试全指南
数据库·oracle·oracle ocp·ocp认证·oracle认证·甲骨文认证·oracle ocp题库
Leon-Ning Liu12 小时前
【真实经验分享】 ORA-600 [qesmaGetTblSeg1]
数据库·oracle
与数据交流的路上12 小时前
MySQL 优化 -- 相关
数据库·mysql