当前位置: 首页 > article >正文

本地部署drawDB结合内网穿透技术实现数据库远程管控方案

文章目录

    • 前言
    • 1. Windows本地部署DrawDB
    • 2. 安装Cpolar内网穿透
    • 3. 实现公网访问DrawDB
    • 4. 固定DrawDB公网地址

前言

在数字化浪潮席卷全球的背景下,数据治理能力正日益成为构建现代企业核心竞争力的关键因素。无论是全球500强企业的数据中枢系统,还是初创团队的项目数据库,抑或独立开发者的代码仓库,高效的数据管理架构始终是支撑业务连续性的基础支撑。当前数据库管理工具市场呈现出功能与易用性双重需求的特征,如何在系统完备性与操作效率之间寻求最佳平衡点,已成为技术团队面临的关键挑战。

值得关注的是,新一代数据库管理平台drawDB正在通过技术创新重塑行业标准。该平台采用三维可视化建模技术直观展现数据架构,同时集成智能协同系统与动态数据同步机制。其独创的多版本控制追踪机制与跨平台适配能力,为跨区域协作提供了创新解决方案。通过与cpolar内网穿透技术的协同部署,用户可突破传统网络限制,在无公网IP配置的前提下构建加密传输通道。这种架构设计不仅消除了地域限制对数据库访问的影响,更形成了双层数据安全防护体系,尤其在远程办公和分布式开发场景中展现出显著的实践价值。

image-20240506114508121

为什么选择 Drawdb?

直观化的实体关系图
Drawdb 能够生成清晰的数据库实体关系图(ERD),让你一目了然地看到各个表之间的关联。这对于团队协作尤其重要,每个人都能快速理解数据库结构。

高颜值界面
与其他工具相比,Drawdb 的界面设计简洁美观,使用起来非常舒适。无论是新手还是资深开发者,都会觉得操作简单且直观。

开源免费
Drawdb 是一个完全开源的项目,你可以自由地修改和扩展它的功能,无需担心任何版权问题。

【视频教程】

DrawDB数据库设计神器本地安装部署与简单使用教程

1. Windows本地部署DrawDB

演示环境:Windows10专业版

打开命令行,从github下载项目到本地,执行下面的命令

git clone https://github.com/drawdb-io/drawdb

(如果没有安装git的话,进入git官网进行下载windows版本 https://git-scm.com/downloads)

image-20240506142150939

创建目录

cd drawdb

在项目的根目录下,执行下面的命令,下载依赖。

npm install

(没有安装Node.js的话,点击官网下载链接https://nodejs.org/en/download,这里演示版本是v20.12.2)

d726d1df5d6dbfe54ec36dab384d442

在项目的根目录下,运行Drawdb,可以看到运行成功,出现 http://localhost:5173/

npm run dev

image-20240506131358905

可以看到我们已经在本地部署了Drawdb,测试一下是否部署成功,接下来我们打开浏览器输入 localhost:5173

88ed52e218929d6b29c0b6f5e8d6ac8

点击 Try it for yourself ,无需注册登录就可以直接进入到界面中。

左侧的导航中,会给出5种类型的对象,table,relationship,subject area,note 和type

5362539995a90858905db57d0f25128

快捷键

DrawDB虽然是一个纯web的系统,但是也配备了全面的快捷键。在帮助里可以查看到全部支持的快捷键。

image-20240506133457833

导入/导出

导入的话支持diagram和source两种方式。

d64ad63878e6407787cb19ef2c76af1

导出的话,支持导出到5种数据库:MySQL、PostgreSQL、SQLite、MariaDB、SQL Server。

另外还支持导出为图片、JSON、PDF和自己的格式等。

导入和导出方面基本符合了正常使用的需要。

image-20240506134026821

我们成功的在本地部署了DrawDB数据库设计工具,但是如果异地办公,或者团队成员不在同一局域网中该如何实现异地公网办公呢?

我们可以结合cpolar内网穿透工具,使团队成员可以同时在同一个数据库模型上工作,轻松共享想法、提供建议,并确保数据库设计的一致性和准确性。这对于团队合作设计复杂数据库结构的场景尤为重要。

2. 安装Cpolar内网穿透

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的Cpolar

登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

image-20240319175308664

Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。

接下来配置一下 DrawDB 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个 DrawDB 的公网http地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:5173 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

9605b2f88354c75ad63d0838c58ff63

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

1a6dbdb5366422dbf8f463e3451b333

使用上面的Cpolar https公网地址,在手机或任意设备的浏览器进行登录访问,即可成功看到 DrawDB 界面,这样一个公网地址且可以远程访问就创建好了,使用了Cpolar的公网域名,无需自己购买云服务器,即可到公网访问 DrawDB 了!

3. 实现公网访问DrawDB

我们用刚才cpolar生成的公网地址,打开一个新的浏览器复制粘贴,可以看到进入到了DrawDB项目管理界面。

86187e6033ed007c86b2f51f5eb63e1

点击 Try it for yourself 进入到数据库设计界面。

image-20240506141439359

小结

如果我们需要长期异地远程访问DrawDB,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问DrawDB,我们可以选择创建一个固定的http地址来解决这个问题。

4. 固定DrawDB公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

ecc1d4d6fa6bcb1f3da56f27e769716

保留成功后复制保留成功的二级子域名的名称

f6b4172996f9929b1064f2e49e70d96

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

48a4ebcd47d6b749eb0ded744207e05

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

82cf5f7d36193b8310e5db83618181c

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

50c136cb630ef6409823750e2fc7bba

最后,我们使用固定的公网https地址在任何浏览器打开访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地进行异地公网访问DrawDB了,方便团队协作,大大提高了工作效率!

13e4ca78d63393e78a060bb4d7470e2

在系统完整性、交互流畅度及视觉呈现度三个维度上,drawDB持续巩固其在数据库设计领域的领军地位。通过与cpolar内网穿透技术的深度整合,该工具组合不仅在开发效率层面实现突破性提升,更在分布式协作场景中拓展了灵活性边界。当传统工作模式遭遇地理阻隔时,这种技术协同方案提供了一种创新性应对策略——通过简化配置流程即可实现跨地域的实时协同开发,使团队成员间的协作效率达到近乎本地办公的流畅度。

这一技术组合经过多领域开发者群体的实证测试,其在工作流优化方面展现出的效能远超行业预期。建议开发团队及时引入这套协同方案,通过亲身体验验证其在远程协作场景中的独特优势,切实感受数字化转型对研发效能的指数级提升。

相关文章:

本地部署drawDB结合内网穿透技术实现数据库远程管控方案

文章目录 前言1. Windows本地部署DrawDB2. 安装Cpolar内网穿透3. 实现公网访问DrawDB4. 固定DrawDB公网地址 前言 在数字化浪潮席卷全球的背景下,数据治理能力正日益成为构建现代企业核心竞争力的关键因素。无论是全球500强企业的数据中枢系统,还是初创…...

可视化预警系统:如何实现生产风险的实时监控?

在生产环境中,风险无处不在,而传统的监控方式往往只能事后补救,难以做到提前预警。但如今,可视化预警系统正在改变这一切!它能够实时收集和分析生产数据,通过直观的图表和警报,让管理者第一时间…...

多模态大语言模型arxiv论文略读(112)

Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文标题:Assessing Modality Bias in Video Question Answering Benchmarks with Multimodal Large Language Models ➡️ 论文作者:Jea…...

【向量库】Weaviate概述与架构解析

文章目录 一、什么是weaviate二、High-Level Architecture1. Core Components2. Storage Layer3. 组件交互流程 三、核心组件1. API Layer2. Schema Management3. Vector Indexing3.1. 查询原理3.2. 左侧:Search Process(搜索流程)3.3. 右侧&…...

PostgreSQL 对 IPv6 的支持情况

PostgreSQL 对 IPv6 的支持情况 PostgreSQL 全面支持 IPv6 网络协议,包括连接、存储和操作 IPv6 地址。以下是详细说明: 一、网络连接支持 1. 监听 IPv6 连接 在 postgresql.conf 中配置: listen_addresses 0.0.0.0,:: # 监听所有IPv4…...

python数据结构和算法(1)

数据结构和算法简介 数据结构:存储和组织数据的方式,决定了数据的存储方式和访问方式。 算法:解决问题的思维、步骤和方法。 程序 数据结构 算法 算法 算法的独立性 算法是独立存在的一种解决问题的方法和思想,对于算法而言&a…...

视觉slam--框架

视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图? 建图并没有一个固定的形式和算法…...

统计按位或能得到最大值的子集数目

我们先来看题目描述: 给你一个整数数组 nums ,请你找出 nums 子集 按位或 可能得到的 最大值 ,并返回按位或能得到最大值的 不同非空子集的数目 。 如果数组 a 可以由数组 b 删除一些元素(或不删除)得到,…...

npm install 相关命令

npm install 相关命令 基本安装命令 # 安装 package.json 中列出的所有依赖 npm install npm i # 简写形式# 安装特定包 npm install <package-name># 安装特定版本 npm install <package-name><version>依赖类型选项 # 安装为生产依赖&#xff08;默认&…...

Spring Boot 与 Kafka 的深度集成实践(二)

3. 生产者实现 3.1 生产者配置 在 Spring Boot 项目中&#xff0c;配置 Kafka 生产者主要是配置生产者工厂&#xff08;ProducerFactory&#xff09;和 KafkaTemplate 。生产者工厂负责创建 Kafka 生产者实例&#xff0c;而 KafkaTemplate 则是用于发送消息的核心组件&#x…...

【学习记录】使用 Kali Linux 与 Hashcat 进行 WiFi 安全分析:合法的安全测试指南

文章目录 &#x1f4cc; 前言&#x1f9f0; 一、前期准备✅ 安装 Kali Linux✅ 获取支持监听模式的无线网卡 &#x1f6e0; 二、使用 Kali Linux 进行 WiFi 安全测试步骤 1&#xff1a;插入无线网卡并确认识别步骤 2&#xff1a;开启监听模式步骤 3&#xff1a;扫描附近的 WiFi…...

后端下载限速(redis记录实时并发,bucket4j动态限速)

✅ 使用 Redis 记录 所有用户的实时并发下载数✅ 使用 Bucket4j 实现 全局下载速率限制&#xff08;动态&#xff09;✅ 支持 动态调整限速策略✅ 下载接口安全、稳定、可监控 &#x1f9e9; 整体架构概览 模块功能Redis存储全局并发数和带宽令牌桶状态Bucket4j Redis分布式限…...

vue3 手动封装城市三级联动

要做的功能 示意图是这样的&#xff0c;因为后端给的数据结构 不足以使用ant-design组件 的联动查询组件 所以只能自己分装 组件 当然 这个数据后端给的不一样的情况下 可能组件内对应的 逻辑方式就不一样 毕竟是 三个 数组 省份 城市 区域 我直接粘贴组件代码了 <temp…...

Angular中Webpack与ngx-build-plus 浅学

Webpack 在 Angular 中的概念 Webpack 是一个模块打包工具&#xff0c;用于将多个模块和资源打包成一个或多个文件。在 Angular 项目中&#xff0c;Webpack 负责将 TypeScript、HTML、CSS 等文件打包成浏览器可以理解的 JavaScript 文件。Angular CLI 默认使用 Webpack 进行项目…...

大模型智能体核心技术:CoT与ReAct深度解析

**导读&#xff1a;**在当今AI技术快速发展的背景下&#xff0c;大模型的推理能力和可解释性成为业界关注的焦点。本文深入解析了两项核心技术&#xff1a;CoT&#xff08;思维链&#xff09;和ReAct&#xff08;推理与行动&#xff09;&#xff0c;这两种方法正在重新定义大模…...

信息系统分析与设计复习

2024试卷 单选题&#xff08;20&#xff09; 1、在一个聊天系统(类似ChatGPT)中&#xff0c;属于控制类的是&#xff08;&#xff09;。 A. 话语者类 B.聊天文字输入界面类 C. 聊天主题辨别类 D. 聊天历史类 ​解析 B-C-E备选架构中分析类分为边界类、控制类和实体类。 边界…...

Linux【5】-----编译和烧写Linux系统镜像(RK3568)

参考&#xff1a;讯为 1、文件系统 不同的文件系统组成了&#xff1a;debian、ubuntu、buildroot、qt等系统 每个文件系统的uboot和kernel是一样的 2、源码目录介绍 目录 3、正式编译 编译脚本build.sh 帮助内容如下&#xff1a; Available options: uboot …...

记一次spark在docker本地启动报错

1&#xff0c;背景 在docker中部署spark服务和调用spark服务的微服务&#xff0c;微服务之间通过fegin调用 2&#xff0c;问题&#xff0c;docker容器中服务器来后&#xff0c;注册中心都有&#xff0c;调用服务也正常&#xff0c;但是调用spark启动任务后报错&#xff0c;报错…...

【向量库】Weaviate 搜索与索引技术:从基础概念到性能优化

文章目录 零、概述一、搜索技术分类1. 向量搜索&#xff1a;捕捉语义的智能检索2. 关键字搜索&#xff1a;精确匹配的传统方案3. 混合搜索&#xff1a;语义与精确的双重保障 二、向量检索技术分类1. HNSW索引&#xff1a;大规模数据的高效引擎2. Flat索引&#xff1a;小规模数据…...

ABB馈线保护 REJ601 BD446NN1XG

配电网基本量程数字继电器 REJ601是一种专用馈线保护继电器&#xff0c;用于保护一次和二次配电网络中的公用事业和工业电力系统。该继电器在一个单元中提供了保护和监控功能的优化组合&#xff0c;具有同类产品中最佳的性能和可用性。 REJ601是一种专用馈线保护继电器&#xf…...

Heygem50系显卡合成的视频声音杂音模糊解决方案

如果你在使用50系显卡有杂音的情况&#xff0c;可能还是官方适配问题&#xff0c;可以使用以下方案进行解决&#xff1a; 方案一&#xff1a;剪映替换音色&#xff08;简单适合普通玩家&#xff09; 使用剪映换音色即可&#xff0c;口型还是对上的&#xff0c;没有剪映vip的&…...

Gitlab + Jenkins 实现 CICD

CICD 是持续集成&#xff08;Continuous Integration, CI&#xff09;和持续交付/部署&#xff08;Continuous Delivery/Deployment, CD&#xff09;的缩写&#xff0c;是现代软件开发中的一种自动化流程实践。下面介绍 Web 项目如何在代码提交到 Gitlab 后&#xff0c;自动发布…...

无头浏览器技术:Python爬虫如何精准模拟搜索点击

1. 无头浏览器技术概述 1.1 什么是无头浏览器&#xff1f; 无头浏览器是一种没有图形用户界面&#xff08;GUI&#xff09;的浏览器&#xff0c;它通过程序控制浏览器内核&#xff08;如Chromium、Firefox&#xff09;执行页面加载、JavaScript渲染、表单提交等操作。由于不渲…...

SDU棋界精灵——硬件程序ESP32实现opus编码

一、 ​​音频处理框架​ 该项目基于Espressif的音频处理框架构建,核心组件包括 ESP-ADF 和 ESP-SR,以下是完整的音频处理框架实现细节: 1.核心组件 (1) 音频前端处理 (AFE - Audio Front-End) ​​main/components/audio_pipeline/afe_processor.c​​功能​​: 声学回声…...

Spring AI中使用ChatMemory实现会话记忆功能

文章目录 1、需求2、ChatMemory中消息的存储位置3、实现步骤1、引入依赖2、配置Spring AI3、配置chatmemory4、java层传递conversaionId 4、验证5、完整代码6、参考文档 1、需求 我们知道大型语言模型 &#xff08;LLM&#xff09; 是无状态的&#xff0c;这就意味着他们不会保…...

Qt 按钮类控件(Push Button 与 Radio Button)(1)

文章目录 Push Button前提概要API接口给按钮添加图标给按钮添加快捷键 Radio ButtonAPI接口性别选择 Push Button&#xff08;鼠标点击不放连续移动快捷键&#xff09; Radio Button Push Button 前提概要 1. 之前文章中所提到的各种跟QWidget有关的各种属性/函数/方法&#…...

生成对抗网络(GAN)损失函数解读

GAN损失函数的形式&#xff1a; 以下是对每个部分的解读&#xff1a; 1. ⁡, ​ &#xff1a;这个部分表示生成器&#xff08;Generator&#xff09;G的目标是最小化损失函数。 &#xff1a;判别器&#xff08;Discriminator&#xff09;D的目标是最大化损失函数。 GAN的训…...

汇编语言学习(三)——DoxBox中debug的使用

目录 一、安装DoxBox&#xff0c;并下载汇编工具&#xff08;MASM文件&#xff09; 二、debug是什么 三、debug中的命令 一、安装DoxBox&#xff0c;并下载汇编工具&#xff08;MASM文件&#xff09; 链接&#xff1a; https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pw…...

【Java基础】​​向上转型(Upcasting)和向下转型(Downcasting)

在面向对象编程中&#xff0c;转型&#xff08;Casting&#xff09; 是指改变对象的引用类型&#xff0c;主要涉及 继承关系 和 多态。 向上转型&#xff08;Upcasting&#xff09; ⬆️ 定义 将 子类对象 赋值给 父类引用&#xff08;自动完成&#xff0c;无需强制转换&…...

GitHub 常见高频问题与解决方案(实用手册)

1.Push 提示权限错误&#xff08;Permission denied&#xff09; 问题&#xff1a; Bash Permission denied (publickey) fatal: Could not read from remote repository. 原因&#xff1a; 没有配置 SSH key 或使用了 HTTPS 而没有权限…...