天天看点

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

作者:民工哥技术之路

大家好,我是民工哥!

我们做 IT 行业的,工作始终绕不开数据库,所以,一款得心应手的、好用实用的数据库管理软件也是至关重要的。前面也推荐了不少有收费、开源的软件,大家可以点击文末 Tools 专栏查看,好不好用,只能看使用者的使用习惯与适合不适合。

今天再来给大家推荐一款号称最强的开源数据库管理软件:Bytebase!

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

这款软件有很多功能与 Yearning 相似。

Bytebase 简介

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

ByteBase 使用 Go 语言开发的,它是一款开源、易用的数据库管理软件(数据库 DevOps 工具),用于在整个应用程序开发生命周期中管理数据库。它为 DBA、开发人员和平台工程师提供了一个基于 Web 的协作工作区。

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

它可以轻松管理数据库模式,进行数据追踪、备份和还原等操作,提供了多种辅助工具以及强大的搜索和查询功能,全球唯一一个同时被 CNCF Landscape 和 Platform Engineering 收录的 Database CI/CD 产品。

Bytebase 支持数据库访问权限控制、数据查询脱敏、数据库管理命令执行管控、变更语句管控以及SQL语句执行审计日志等安全功能。这些功能有助于保护数据库的安全,防止未经授权的访问和数据泄露。同时,Bytebase的审计日志功能还可以记录对数据库的操作,以便在出现问题时进行追踪和排查。

还可以替代 Navicat、DBeaver、DataGrip、pgAdmin 和 phpMyAdmin 等本地 SQL 客户端。

  • GitHub 仓库地址:https://github.com/bytebase/bytebase
  • 官网:https://bytebase.com
  • 一键安装指南:https://docs.bytebase.com/install/docker

支持的数据库

支持多种主流的数据库管理系统,包括但不限于:

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

此外,Bytebase还支持与多种数据库进行集成,如PostgreSQL、MySQL、ClickHouse等。

Bytebase 主要特点

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

SQL审查

Bytebase 会分析 SQL 更改,以强制执行符合组织策略的规则。强制包括命名约定、反 SQL 模式检测等。生产环境和非生产环境也可以分别强制执行不同的规则。

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

数据库 CI/CD 和变更自动化

与代码审查一样,Bytebase 简化了数据库更改过程。在单个工作流中,可以查看数据库更改,并将其从开发环境一直部署到生产环境。

GitOps(数据库即代码)

Bytebase 保留完整的架构更改历史记录。它还与 VCS 系统集成。团队可以在 VCS 中管理 SQL 迁移脚本,并在代码提交时触发架构部署。

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

批量更改和查询

Bytebase 允许您在单个工作流中更改数据库集合。它还允许您对多个数据库发出单个查询。

SQL 编辑器

基于 Web 的 SQL 编辑器,用于查询和导出数据。当开发人员需要访问数据时,DBA 不再需要泄露敏感的数据库凭据。

动态数据屏蔽

Bytebase 提供多级屏蔽策略和工作流,以授予未屏蔽的数据访问权限。

数据访问控制

Bytebase 提供了一套功能,使组织能够执行数据安全策略、避免数据泄露并符合合规性。

数据回滚和容灾

  • 语句级回滚
  • 数据库级手动和定期备份和恢复
  • 时间点恢复 (PITR)

Bytebase VS DBeaver/Navicat

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

SQL GUI 客户端(如 MySQL Workbench、pgAdmin、DBeaver、Navicat)提供了一个 GUI 来与数据库进行交互。Bytebase 不仅提供 GUI 客户端,还可以实施集中式数据访问控制,以实现数据安全和治理。

安装使用

Docker安装

docker run --init \
  --name bytebase \
  --restart always \
  --publish 8080:8080 \
  --health-cmd "curl --fail http://localhost:8080/healthz || exit 1" \
  --health-interval 5m \
  --health-timeout 10s \
  --volume ~/.bytebase/data:/var/opt/bytebase \
  bytebase/bytebase:2.13.0 \
  --data /var/opt/bytebase \
  --port 8080
           
./bytebase help

Bytebase is a database schema change and version control tool

Usage:
  bytebase [flags]
  bytebase [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Print the version of Bytebase

Flags:
      --backup-bucket string       bucket where Bytebase stores backup data, e.g., s3://example-bucket. When provided, Bytebase will store data to the S3 bucket.
      --backup-credential string   credentials file to use for the backup bucket. It should be the same format as the AWS/GCP credential files.
      --backup-region string       region of the backup bucket, e.g., us-west-2 for AWS S3.
      --data string                directory where Bytebase stores data. If relative path is supplied, then the path is relative to the directory where Bytebase is under (default ".")
      --debug                      whether to enable debug level logging
      --demo string                name of the demo to use. If specified, Bytebase will run in demo mode
      --disable-metric             disable the metric collector
      --disable-sample             disable the sample instance
      --external-url string        the external URL where user visits Bytebase, must start with http:// or https:// (default "https://www.bytebase.com/docs/get-started/install/external-url")
  -h, --help                       help for bytebase
      --pg string                  optional external PostgreSQL instance connection url(must provide dbname); for example postgresql://user:secret@masterhost:5432/dbname?sslrootcert=cert
      --port int                   port where Bytebase server runs. Default to 8080 (default 8080)
      --readonly                   whether to run in read-only mode
           

安装完成直接浏览器访问:http://localhost:8080 即可。

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

操作介绍

注册管理员账号,然后登录管理控制台。

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

管理成员(管理角色)

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
  • 工作区角色:Admin、DBA、Member.
  • 项目角色:Owner、Developer、Releaser者、查询者、Exporter者、Viewer Querier.相关的角色及权限的详细配置可以参考:https://cn.bytebase.com/docs/concepts/roles-and-permissions/

配置环境

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

添加实例(配置)

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

访问 SQL 编辑器

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

查询数据

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

SQL审查

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

DBA 事先建立相关的审查策略及规则,当开发人员提交 SQL 来查询或更改数据库时,SQL Advisor 会在 DBA 审核之前自动检查这些规则。

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

批量更改

可以从多个环境更改数据库

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

以批处理模式创建项目,创建项目时选择batch模式,也可以稍后配置。

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

然后在这个批处理项目中:创建数据库,配置相关信息

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

然后在创建的数据中创建表组,并配置信息

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

配置完成后,就可以进行批量操作了,点击刚刚创建的项目-数据库组

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

批量更改

扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!
扔掉 Navicat、DBeaver,来试试这款吊炸天的开源数据库管理工具!

此数据库组下面有6个表,所以就自动创建了6个任务在执行。

Bytebase 的命令行工具

执行下面的命令即可安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bytebase/install/HEAD/install.sh)"
           

要使用它就是需要安装一个MySQL数据库,相关的介绍:https://cn.bytebase.com/docs/cli/overview/

它还可以与与 GitLab CI 集成,详细的就不介绍了,有兴趣的可以参考官方文档:https://cn.bytebase.com/docs/cli/integrate-with-gitlab/

总结

总体使用下来,还是比较简单好操作的,新手也不用担心上手问题。

Bytebase 的使用场景涵盖了团队协作、版本控制、数据追踪、数据库发布、审核与自动化、集成与扩展等方面。

Bytebase 有着易用性、跨平台性、强大的查询与搜索功能、全局管控操作、无缝数据库管理功能、数据的备份与恢复、集成性、高度可扩展性与强大的社区支持等众多优势。

总之,Bytebase 已成为一个强大的、可靠的数据库管理平台,能够帮助用户高效管理与维护数据库,提高日常开发和维护效率,

今天的分享就到这里了,如有帮助,欢迎一键三连(点赞、评论、转发)支持一下!

读者专属群:诚邀你加入技术交流群,一起卷!

如有错误或其它问题,欢迎小伙伴留言评论、指正。如有帮助,欢迎点赞+转发分享。更多相关开源技术文章,请持续关注!资源分享(小编为你精心准备了2048G的各类学习资料。包括系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、架构师综合教程、架构师实战项目、大数据、Docker容器、ELK Stack、机器学习、BAT面试精讲视频等。)

继续阅读