羑悻的小杀马特.头像
关注
别再给运营开数据库权限了!飞牛NAS部署NocoDB,Excel一键变在线协作表格封面图

别再给运营开数据库权限了!飞牛NAS部署NocoDB,Excel一键变在线协作表格


在这里插入图片描述

前言

数据库里的数据,未必只有开发和运维会用。

运营要改一条记录、产品想看一组数据、同事需要临时维护表格,如果每次都让他们接触 MySQL、PostgreSQL 或直接写 SQL,权限、安全和使用门槛都会一起变高。

这时候真正需要的,不一定是再做一套后台,而是给数据库前面加一层更容易操作的界面。

NocoDB 正好就是做这件事的:把传统关系型数据库转换成更接近多维表格的操作方式,让数据可以通过表格、视图和分享页面来查看或编辑。

这篇采用 问答互动型,但不会堆一串问题。全文只围绕几个真正值得回答的问题展开:

  • 为什么不直接把数据库账号交给非技术人员?
  • NocoDB 在飞牛 NAS 上怎么跑起来?
  • 本地 8080 能打开以后,怎样让远程同事访问?
  • Excel 导入和分享协作到底实际演示到了哪一步?

整条链路很清楚:

飞牛 NAS Docker → nocodb/nocodb8080 初始化 → 中文界面 → cpolar随机公网访问 → noco 固定二级子域名 → MySQL 5.7 → Excel 导入 → student / student_info → 分享查看与协同编辑。

这篇的人物性格偏务实:

不反对给非技术人员数据操作能力,但更在意“给他们什么入口、开放到什么程度”,而不是图省事直接把数据库权限扔出去。

img

1. 为什么不直接让人操作数据库?

NocoDB 的定位可以简单理解为:

给数据库加一层接近 Excel / 多维表格的可视化操作界面。

它支持连接 MySQL、PostgreSQL、SQL Server、SQLite 等关系型数据库,并提供表格、看板、日历、画廊、甘特图、字段关联和协作等功能。

这些能力听起来很多,但这次真正落地演示的是:

  1. 在飞牛 NAS 里部署 NocoDB;
  2. 初始化管理员;
  3. 通过公网访问 NocoDB;
  4. 连接 MySQL 5.7;
  5. 导入 Excel;
  6. 看到对应数据库和表;
  7. 分享只读页面;
  8. 分享可编辑项目;
  9. 穿透后分享链接前缀变成公网域名。

所以这篇不会把评论、@提醒、自动化规则、所有视图类型都写成已经逐项验证的结果。

真正有价值的变化是:

非技术人员看到的是表格入口,数据库本身仍然留在后面。

2. 先把飞牛 NAS 环境准备好

这次演示环境是:

  • Windows
  • VMware Workstation
  • fnOS 虚拟机
  • fnOS 版本:V0.9.26

如果是在 x86 物理机上,也可以使用飞牛私有云 fnOS 镜像安装。

image-20251014113607262

系统启动后,会显示飞牛 NAS Web UI 管理地址。

这次演示地址是:

http://192.168.184.135:5666

浏览器打开以后进入飞牛主页。

image-20251014113930847

到这一步先确认 NAS 管理页面正常,再进入 Docker。

3. 在飞牛 Docker 里部署 NocoDB

打开飞牛首页的 Docker,确认 Docker 服务已经启用。

image-20251014114857397

然后进入镜像仓库,搜索:

nocodb

下载镜像:

nocodb/nocodb

image-20251014115401593

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

image-20251014115648912

容器创建时勾选:

开机自启

image-20251014115839542

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

image-20251014132808176

最后点击创建。

image-20251014132851004

这一步不需要额外命令行,整个容器创建过程都在飞牛图形界面里完成。

4. NocoDB 第一次启动要做什么?

如果前面勾选了“创建后启动容器”,进入容器页面时可以看到 nocodb 已经处于运行状态。

image-20251014133109177

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

http://192.168.184.135:8080

image-20251014133426614

第一次启动会进入 NocoDB 初始化注册页面。

这里需要创建:

Super Admin

填写邮箱和密码,然后点击:

SIGN UP

邮箱在这次演示里不要求是真实邮箱。

创建完成以后,可以点击 Skip 跳过用途选择。

image-20251014133929690

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

简体中文

image-20251014134136465

到这里,NocoDB 本地部署与初始化完成。

这一层只需要确认:

NocoDB 已经在飞牛 NAS 的 8080 上正常运行,并且管理员能够登录使用。

5. 本地能用以后,为什么还要做公网访问?

如果 NocoDB 只是自己在家里用,前面已经够了。

但如果要让异地同事查看或编辑数据,本地局域网地址就不够。

这个问题的关键不是数据库本身,而是:

NocoDB 的 Web UI 还只在当前局域网。

因此后面使用 cpolar 的目的很明确:

把 NocoDB 8080 Web 页面带到公网。

这里不需要把 MySQL 单独暴露出去,团队成员访问的仍然是 NocoDB。

6. 在飞牛 NAS 安装 cpolar

先在飞牛 NAS 设置里开启 SSH,默认端口保持 22

image-20251014163349157

然后在 Windows CMD 中通过 SSH 连接飞牛 NAS:

# ssh 用户名@飞牛NAS_IP
ssh [email protected]

image-20251014163755613

连接后安装 cpolar:

sudo curl https://get.cpolar.sh | sh

安装完成后检查服务状态:

sudo systemctl status cpolar

image-20251014164122748

接着注册 cpolar 账号。

image-20250804085039567

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

image-20250804085208319

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

http://192.168.184.135:9200/

image-20251014164829371

登录后进入后台。

image-20251014164856740

现在远程访问层已经准备好,下一步只需要处理 NocoDB 的 8080

7. 先用随机域名把 8080 跑通

进入【隧道管理 → 隧道列表】后,可以看到默认存在两条隧道:

  • ssh:22,TCP
  • website:8080,HTTP

这次记录还说明,HTTP 隧道会生成 http 和 https 两个公网地址。

image-20251014170311460

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

image-20251014170622339

修改完成以后,进入在线隧道列表。

可以看到名为:

nocodb-8080

的两条记录,一条 http,一条 https。

image-20251014170658200

以 https 为例访问。

image-20251014171019559

页面成功打开 NocoDB。

这一步真正验证的是:

NocoDB 的 Web UI 已经能通过公网地址访问。

至于“多人实时协作”“编辑实时写回数据库”,需要结合后面的实际表格与分享演示继续判断,而不是在这里一次性下完结论。

8. 随机域名为什么不适合长期协作?

这次记录里说明,随机域名大约每:

24 小时

会自动变化一次。

如果只是测试没有问题。

但一旦链接被加入书签、发给同事,或者嵌进固定工作流,地址变化就会带来额外维护成本。

所以长期使用时继续配置固定二级子域名。

先进入 cpolar 预留页面:

https://dashboard.cpolar.com/reserved

这次保留的信息是:

  • 地区:China Top
  • 二级域名:noco

image-20251015144325980列表中显示了一条已保留的二级子域名记录:

二级域名每个账号不同,以自己实际保留的名称为准。

接着回到隧道列表,找到:

nocodb-8080

并点击编辑。

image-20251015144456993

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

image-20251015144610419

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

image-20251015144654701

再使用 https 地址访问。

image-20251015145818755

固定地址能够正常打开 NocoDB。

到这里,公网访问这一层才真正稳定下来。

9. NocoDB 的“像表格一样操作数据库”怎么验证?

公网能打开页面,只能说明访问层已经通了。

NocoDB 是否真的能把数据库操作变得更直观,还要看数据层。

这次测试环境里,NocoDB 部署在 VMware 虚拟机,连接的是本机已有的:

MySQL 5.7

如果环境不同,需要先准备一个可用数据库。

先点击:

连接外部数据

image-20251014144356614

数据源名称设置为:

MySQL5.7

然后选择“新的连接”。

image-20251014144659610

连接类型选择:

MySQL

image-20251014144957893

填写 MySQL 相关连接信息。

image-20251014145401865

然后开启:

允许编辑模式

点击:

Add Source

image-20251014145509223

到这里,NocoDB 已经不只是一个空白多维表格页面,而是开始连接真正的 MySQL 数据源。

10. Excel 导进去以后,会发生什么?

连接好数据源以后,在首页点击三个点,选择:

导入数据

导入方式选择:

Excel

image-20251014145637048

这次使用了一份测试 Excel。

image-20251014150033463

文件上传以后,在高级设置中勾选:

Use first record as header

也就是使用第一行作为字段名称。

然后点击:

导入文件

image-20251014150122200

接着校对字段。

不需要的列可以取消。

image-20251014150404452

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

image-20251014150607788

数据库中也出现了对应的:

  • 数据库:student
  • 表:student_info

image-20251014150744725

这次演示据此给出的结果是:

导入 Excel 后生成了对应数据库与表,并且后续编辑表格内容能够实时更新到数据库中,无需手写 SQL。

这里保持这次测试记录本身,不另外推断不同数据库、不同权限环境下是否都会以完全相同方式创建数据库和表。

11. “多人协作”具体演示到了哪一步?

点击右上角:

分享

可以看到两种方向:

  • 仅供查看
  • 项目访问编辑

image-20251014152659461

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

image-20251014152800396

这类链接只能查看和下载,不能编辑。

另一种是协同编辑页面。

image-20251014160940538

这类页面支持编辑表格内容,并可以复制一份新项目。

如果此时还是局域网访问,分享出来的地址也仍然是局域网地址。

而完成 cpolar 穿透以后,再点击分享,链接前缀已经切换成公网域名。

image-20251015152252571

外网访问效果如下。

image-20251015152718750

这一步才真正把前面的几层串起来:

数据库 → NocoDB 表格界面 → 分享链接 → cpolar 公网域名 → 远程查看 / 编辑。

所以这篇所说的“协作”,不是只停留在功能介绍,而是已经展示了只读分享、可编辑项目和公网分享链接的实际页面。

总结

这套方案真正解决的是一个很具体的问题:

数据库需要被更多人使用,但不代表更多人都应该直接接触数据库本身。

NocoDB 提供了中间这一层可视化入口,cpolar 则把这个入口从局域网扩展到公网。

整条链路是:

飞牛 NAS → Docker → nocodb/nocodb8080 → 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:9200
  • website 隧道
  • 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

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--