大家好,今天给大家分享一款免费开源的跨平台数据库管理工具DbGate

DbGate是一款免费开源的跨平台数据库管理工具,支持多种数据库,包括MySQL、PostgreSQL、SQL Server、MongoDB、SQLite等。它可以在Windows、Linux、Mac操作系统上运行,也可以作为Web应用程序使用,为用户提供跨平台的灵活性。

项目介绍

DbGate 是一个跨平台数据库管理器,旨在用户友好且高效,尤其是在同时处理多个数据库时。

它提供了一系列高级功能,包括模式比较、可视化查询设计器、图表可视化以及批量导出和导入功能。

DbGate 遵循 MIT 许可,可免费使用,彰显了其对可访问性和开源协作的承诺。用户可以在线试用,下载适用于 Windows、Linux 或 Mac 的版本,或以 NPM 包或 Docker 映像的形式运行 Web 版本。

特色功能

1. 数据库连接

  • 支持连接数据库类型:MySQL、PostgreSQL、Microsoft SQL Server (支持Windows身份验证)、Oracle、MongoDB、SQLite (支持文件拖拽方式快速打开)、Amazon Redshift、CockroachDB、MariaDB

  • 支持通过 SSH 隧道的连接和SSL方式

  • 支持同时处理多个数据库连接

  • 支持每个打开的选项卡(例如查询、表数据、查询设计者)都标有其所属的数据库

  • 存储的密码默认加密
  • 支持浏览数据库结构
  • 支持浏览表、视图、存储过程和函数
  • 支持保存数据库连接配置前进行测试连接

2. 数据编辑

  • 数据过滤:用户可以直接输入过滤表达式(例如字段值包含的字符子串),或者通过菜单过滤数据。

  • 扩展外接列信息:引用的列可以添加到列管理器中的视图中,还允许根据引用的列过滤表。

  • 表单视图:当单列数据太长时,可以使用表单视图展示当前列的完整信息。

  • 数据编辑器:支持表格数据的编辑。所有更改都不会立即保存到数据库中,首先,您以与 Excel 中类似的方式编辑表格数据,完成后,按 Ctrl+S(或使用上下文菜单中的命令),确认后,更改将保存到数据库。

3. SQL编辑器

  • SQL语法高亮
  • 代码自动补全
  • 连接向导 - 当您精通 SQL 语言,但不记得所有必须连接在一起的表时,可以添加 SQL 连接 加入向导

  • SQL 格式化
  • 保存SQL到“已保存的查询”选项卡,或保存到磁盘

4. SQL 生成器

DbGate提供的SQL生成器,可以获得生成创建数据库/数据的SQL脚本。SQL生成器支持表(包含外键)的创建、删除、数据插入以及截断脚本,支持视图、存储过程、函数的创建和删除脚本。

5. 数据导入导出

DbGate支持强大的数据导入导出功能,支持CSV、Excel、JSON line、XML、JavaScript脚本等文件格式,可以实现在不同数据库之间的数据复制。

  • 数据导出

  • 导入Excel文件

  • JavaScript 脚本

6. NoSQL 数据库支持

DbGate 对 MongoDB 数据库有广泛的支持。它使用原生的 MongoDB 驱动程序,因此它不像其他支持 MongoDB 的 SQL 数据库工具那样局限于表式视图。

它还支持最流行的键值数据库 Redis。

对于MongoDB,DbGate支持:

  • 连接数据库:包括直接连接、使用 SSH 隧道或自定义 MongoDB URL

  • 浏览集合数据、表视图和 JSON 视图

  • 过滤和排序集合数据,扩展JSON结构

  • MongoDB shell 数据过滤脚本预览

  • 导出和导入(到不同的 DB 或 JSON、CSV 或 MS Excel 文件)

  • 运行 MongoDB 查询(使用 nodejs MongoDB API 语法)

对于Redis,DbGate支持:

  • 连接数据库:包括直接连接、使用 SSH 隧道或自定义 Redis URL
  • 通过树状视图浏览keys
  • 支持所有的基础key类型,包含streams
  • 支持创建、重命名和移除keys
  • 支持编辑key对应的内容
  • 支持执行redis脚本
  • 支持根据redis key生成相关执行脚本

7. 扩展插件

DbGate使用可扩展的插件架构,您可以从yeoman模板创建插件,插件即NPM包,可以发布到NPM库或者从NPM库获取插件。支持的插件类型包括导入/导出格式支持、数据库连接驱动支持等。

详情请查阅,插件开发文档

8. 其他

  • ER图设计:你可以将创建的表生成ER图。

  • 保存文件:DbGate允许您将文件保存到内部 DbGate 存储或磁盘(当您使用的不是DbGate网络版本时),保存的文件类型包括:SQL 查询、查询设计、JavaScript 数据脚本、Markdown 页面以及图表。
  • 图表:DbGate允许将任何查询结果可视化,支持的图表类型包括柱状图、折线图、饼图,同时DbGate允许自定义颜色或使用随机颜色。

  • 地图:在地图上可视化地理数据。

安装使用

该应用程序使用 Node.js、JavaScript 和 Svelte 框架构建。使用 Electron.js 构建桌面应用程序。

支持平台

  • Windows
  • Windows Portable
  • Linux: AppImage, Debian, Snap package,
  • Linux ARM
  • macOS Intel
  • macOS Apple Silicon
  • Docker
  • NPM package

下载应用,请访问应用程序下载地址

使用Docker安装自托管应用

从 Docker Hub 存储库拉取映像

docker pull dbgate/dbgate

使用以下命令启动带有 DbGate 的容器

docker run -it --name dbgate-instance --restart always -p <port on host>:3000 dbgate/dbgate

如果您想预先配置连接:

docker run -it --name dbgate-instance --restart always -p <port on host>:3000 -e CONNECTIONS='mssql' -e LABEL_mssql='MS SQL' -e SERVER_mssql='SERVER_IP' -e USER_mssql='USER' -e PASSWORD_mssql='PWD' -e ENGINE_mssql='mssql@dbgate-plugin-mssql'  dbgate/dbgate

如果你想使用 Docker Compose 安装它,你可以使用以下代码片段

version: '3'
services:
  dbgate:
    image: dbgate/dbgate
    restart: always
    ports:
      - 80:3000
    volumes:
      - dbgate-data:/root/.dbgate
    environment:
      CONNECTIONS: con1,con2,con3,con4

      LABEL_con1: MySql
      SERVER_con1: mysql
      USER_con1: root
      PASSWORD_con1: TEST
      PORT_con1: 3306
      ENGINE_con1: mysql@dbgate-plugin-mysql

      LABEL_con2: Postgres
      SERVER_con2: postgres
      USER_con2: postgres
      PASSWORD_con2: TEST
      PORT_con2: 5432
      ENGINE_con2: postgres@dbgate-plugin-postgres

      LABEL_con3: MongoDB
      URL_con3: mongodb://mongo:27017
      ENGINE_con3: mongo@dbgate-plugin-mongo

      LABEL_con4: SQLite
      FILE_con4: /home/jan/feeds.sqlite
      ENGINE_con4: sqlite@dbgate-plugin-sqlite

volumes:
  dbgate-data:
    driver: local

项目地址

https://github.com/dbgate/dbgate