文章目录
前言
数据库里的数据,未必只有开发和运维会用。
运营要改一条记录、产品想看一组数据、同事需要临时维护表格,如果每次都让他们接触 MySQL、PostgreSQL 或直接写 SQL,权限、安全和使用门槛都会一起变高。
这时候真正需要的,不一定是再做一套后台,而是给数据库前面加一层更容易操作的界面。
NocoDB 正好就是做这件事的:把传统关系型数据库转换成更接近多维表格的操作方式,让数据可以通过表格、视图和分享页面来查看或编辑。
这篇采用 问答互动型,但不会堆一串问题。全文只围绕几个真正值得回答的问题展开:
- 为什么不直接把数据库账号交给非技术人员?
- NocoDB 在飞牛 NAS 上怎么跑起来?
- 本地
8080能打开以后,怎样让远程同事访问? - Excel 导入和分享协作到底实际演示到了哪一步?
整条链路很清楚:
飞牛 NAS Docker → nocodb/nocodb → 8080 初始化 → 中文界面 → cpolar随机公网访问 → noco 固定二级子域名 → MySQL 5.7 → Excel 导入 → student / student_info → 分享查看与协同编辑。
这篇的人物性格偏务实:
不反对给非技术人员数据操作能力,但更在意“给他们什么入口、开放到什么程度”,而不是图省事直接把数据库权限扔出去。

1. 为什么不直接让人操作数据库?
NocoDB 的定位可以简单理解为:
给数据库加一层接近 Excel / 多维表格的可视化操作界面。
它支持连接 MySQL、PostgreSQL、SQL Server、SQLite 等关系型数据库,并提供表格、看板、日历、画廊、甘特图、字段关联和协作等功能。
这些能力听起来很多,但这次真正落地演示的是:
- 在飞牛 NAS 里部署 NocoDB;
- 初始化管理员;
- 通过公网访问 NocoDB;
- 连接 MySQL 5.7;
- 导入 Excel;
- 看到对应数据库和表;
- 分享只读页面;
- 分享可编辑项目;
- 穿透后分享链接前缀变成公网域名。
所以这篇不会把评论、@提醒、自动化规则、所有视图类型都写成已经逐项验证的结果。
真正有价值的变化是:
非技术人员看到的是表格入口,数据库本身仍然留在后面。
2. 先把飞牛 NAS 环境准备好
这次演示环境是:
- Windows
- VMware Workstation
- fnOS 虚拟机
- fnOS 版本:
V0.9.26
如果是在 x86 物理机上,也可以使用飞牛私有云 fnOS 镜像安装。

系统启动后,会显示飞牛 NAS Web UI 管理地址。
这次演示地址是:
http://192.168.184.135:5666
浏览器打开以后进入飞牛主页。

到这一步先确认 NAS 管理页面正常,再进入 Docker。
3. 在飞牛 Docker 里部署 NocoDB
打开飞牛首页的 Docker,确认 Docker 服务已经启用。

然后进入镜像仓库,搜索:
nocodb
下载镜像:
nocodb/nocodb

镜像下载完成后,在本地镜像中点击启动。

容器创建时勾选:
开机自启

端口设置这里,如果机器上的 8080 没有被其他服务占用,可以直接继续。

最后点击创建。

这一步不需要额外命令行,整个容器创建过程都在飞牛图形界面里完成。
4. NocoDB 第一次启动要做什么?
如果前面勾选了“创建后启动容器”,进入容器页面时可以看到 nocodb 已经处于运行状态。

接着通过飞牛 IP + 容器映射端口访问:
http://192.168.184.135:8080

第一次启动会进入 NocoDB 初始化注册页面。
这里需要创建:
Super Admin
填写邮箱和密码,然后点击:
SIGN UP
邮箱在这次演示里不要求是真实邮箱。
创建完成以后,可以点击 Skip 跳过用途选择。

进入首页后,点击左下角头像,进入 Language,选择:
简体中文

到这里,NocoDB 本地部署与初始化完成。
这一层只需要确认:
NocoDB 已经在飞牛 NAS 的
8080上正常运行,并且管理员能够登录使用。
5. 本地能用以后,为什么还要做公网访问?
如果 NocoDB 只是自己在家里用,前面已经够了。
但如果要让异地同事查看或编辑数据,本地局域网地址就不够。
这个问题的关键不是数据库本身,而是:
NocoDB 的 Web UI 还只在当前局域网。
因此后面使用 cpolar 的目的很明确:
把 NocoDB
8080Web 页面带到公网。
这里不需要把 MySQL 单独暴露出去,团队成员访问的仍然是 NocoDB。
6. 在飞牛 NAS 安装 cpolar
先在飞牛 NAS 设置里开启 SSH,默认端口保持 22。

然后在 Windows CMD 中通过 SSH 连接飞牛 NAS:
# ssh 用户名@飞牛NAS_IP
ssh [email protected]

连接后安装 cpolar:
sudo curl https://get.cpolar.sh | sh
安装完成后检查服务状态:
sudo systemctl status cpolar

接着注册 cpolar 账号。

进入注册页面完成账号创建。

注册以后,通过飞牛 NAS IP + 9200 打开 cpolar Web UI:
http://192.168.184.135:9200/

登录后进入后台。

现在远程访问层已经准备好,下一步只需要处理 NocoDB 的 8080。
7. 先用随机域名把 8080 跑通
进入【隧道管理 → 隧道列表】后,可以看到默认存在两条隧道:
- ssh:
22,TCP - website:
8080,HTTP
这次记录还说明,HTTP 隧道会生成 http 和 https 两个公网地址。

这里直接编辑 website 隧道,修改成 NocoDB 所需的信息。

修改完成以后,进入在线隧道列表。
可以看到名为:
nocodb-8080
的两条记录,一条 http,一条 https。

以 https 为例访问。

页面成功打开 NocoDB。
这一步真正验证的是:
NocoDB 的 Web UI 已经能通过公网地址访问。
至于“多人实时协作”“编辑实时写回数据库”,需要结合后面的实际表格与分享演示继续判断,而不是在这里一次性下完结论。
8. 随机域名为什么不适合长期协作?
这次记录里说明,随机域名大约每:
24 小时
会自动变化一次。
如果只是测试没有问题。
但一旦链接被加入书签、发给同事,或者嵌进固定工作流,地址变化就会带来额外维护成本。
所以长期使用时继续配置固定二级子域名。
先进入 cpolar 预留页面:
https://dashboard.cpolar.com/reserved
这次保留的信息是:
- 地区:
China Top - 二级域名:
noco
列表中显示了一条已保留的二级子域名记录:
二级域名每个账号不同,以自己实际保留的名称为准。
接着回到隧道列表,找到:
nocodb-8080
并点击编辑。

把域名类型修改为二级子域名,填入刚才保留的地址,再更新。

随后在在线隧道列表中看到 nocodb-8080 已经切换成固定二级子域名形式。

再使用 https 地址访问。

固定地址能够正常打开 NocoDB。
到这里,公网访问这一层才真正稳定下来。
9. NocoDB 的“像表格一样操作数据库”怎么验证?
公网能打开页面,只能说明访问层已经通了。
NocoDB 是否真的能把数据库操作变得更直观,还要看数据层。
这次测试环境里,NocoDB 部署在 VMware 虚拟机,连接的是本机已有的:
MySQL 5.7
如果环境不同,需要先准备一个可用数据库。
先点击:
连接外部数据

数据源名称设置为:
MySQL5.7
然后选择“新的连接”。

连接类型选择:
MySQL

填写 MySQL 相关连接信息。

然后开启:
允许编辑模式
点击:
Add Source

到这里,NocoDB 已经不只是一个空白多维表格页面,而是开始连接真正的 MySQL 数据源。
10. Excel 导进去以后,会发生什么?
连接好数据源以后,在首页点击三个点,选择:
导入数据
导入方式选择:
Excel

这次使用了一份测试 Excel。

文件上传以后,在高级设置中勾选:
Use first record as header
也就是使用第一行作为字段名称。
然后点击:
导入文件

接着校对字段。
不需要的列可以取消。

导入完成后,NocoDB 页面中已经可以看到 Excel 数据内容。

数据库中也出现了对应的:
- 数据库:
student - 表:
student_info

这次演示据此给出的结果是:
导入 Excel 后生成了对应数据库与表,并且后续编辑表格内容能够实时更新到数据库中,无需手写 SQL。
这里保持这次测试记录本身,不另外推断不同数据库、不同权限环境下是否都会以完全相同方式创建数据库和表。
11. “多人协作”具体演示到了哪一步?
点击右上角:
分享
可以看到两种方向:
- 仅供查看
- 项目访问编辑

公开查看页面的效果如下。

这类链接只能查看和下载,不能编辑。
另一种是协同编辑页面。

这类页面支持编辑表格内容,并可以复制一份新项目。
如果此时还是局域网访问,分享出来的地址也仍然是局域网地址。
而完成 cpolar 穿透以后,再点击分享,链接前缀已经切换成公网域名。

外网访问效果如下。

这一步才真正把前面的几层串起来:
数据库 → NocoDB 表格界面 → 分享链接 → cpolar 公网域名 → 远程查看 / 编辑。
所以这篇所说的“协作”,不是只停留在功能介绍,而是已经展示了只读分享、可编辑项目和公网分享链接的实际页面。
总结
这套方案真正解决的是一个很具体的问题:
数据库需要被更多人使用,但不代表更多人都应该直接接触数据库本身。
NocoDB 提供了中间这一层可视化入口,cpolar 则把这个入口从局域网扩展到公网。
整条链路是:
飞牛 NAS → Docker → nocodb/nocodb → 8080 → Super Admin → 中文界面 → cpolar 随机公网访问 → noco 固定二级子域名 → MySQL 5.7 → Excel 导入 → student / student_info → 只读分享 / 协同编辑 → 公网分享链接。
这次实际完成的内容包括:
- fnOS
V0.9.26 - 飞牛管理地址
192.168.184.135:5666 - Docker 拉取
nocodb/nocodb - NocoDB 使用
8080 - 创建 Super Admin
- 切换简体中文
- SSH
[email protected] - cpolar 安装与状态检查
192.168.184.135:9200website隧道nocodb-8080- 随机域名约 24 小时变化
- 固定二级子域名
noco - https 固定地址访问成功
- 外部数据源
MySQL5.7 - MySQL 5.7
允许编辑模式Add Source- Excel 导入
Use first record as header- 数据库
student - 表
student_info - 只读分享
- 协同编辑
- 分享链接切换为公网域名前缀
这篇没有强行写成“我遇到数据库权限问题,然后我去解决”的第一人称故事。
因为现有素材更适合一个务实的数据管理者视角:问题不是数据库难不难,而是应该给不同角色什么入口。
人物性格就体现在这个判断里:
能用表格完成的事情,不必逼所有人学 SQL;但能开放页面,也不代表要把所有数据库权限一起开放。
另外,像“多人实时编辑”“自动化规则”“评论和 @提醒”“所有数据库都能一键转换”“安全稳定公网协作”等更大的能力,只有一部分在这次演示中真正出现,因此没有全部写成本文已经完整实测的结论。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2401_82648291/article/details/165007586




