戳下方名片,关注并星标

回复“1024”获取2TB学习资源!

大家好,我是民工哥!

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

今天再来给大家推荐一款号称最强的开源数据库管理软件:Bytebase!bfb8a053c3df953229829a66f03203a8.png这款软件有很多功能与 Yearning 相似。

Bytebase 简介

e6a96ccab1a02fb3f9f324065438b3e3.pngByteBase 使用 Go 语言开发的,它是一款开源、易用的数据库管理软件(数据库 DevOps 工具),用于在整个应用程序开发生命周期中管理数据库。它为 DBA、开发人员和平台工程师提供了一个基于 Web 的协作工作区。03652d314019325c192d50e15d77b784.png它可以轻松管理数据库模式,进行数据追踪、备份和还原等操作,提供了多种辅助工具以及强大的搜索和查询功能,全球唯一一个同时被 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

支持的数据库

支持多种主流的数据库管理系统,包括但不限于:96deceb5901c5f85cf0643b9d01a5f90.png此外,Bytebase还支持与多种数据库进行集成,如PostgreSQL、MySQL、ClickHouse等。

Bytebase 主要特点

30df9f145a7238483706ccb5b1472180.png
SQL审查

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

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

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

GitOps(数据库即代码)

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

批量更改和查询

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

SQL 编辑器

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

动态数据屏蔽

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

数据访问控制

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

数据回滚和容灾
  • 语句级回滚

  • 数据库级手动和定期备份和恢复

  • 时间点恢复 (PITR)

Bytebase VS DBeaver/Navicat

58f872c67bd7a65b42404626ec690725.pngSQL 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 即可。2280ad9b883f1d0b786cb524a714635e.png

操作介绍
注册管理员账号,然后登录管理控制台。
04c0684cd49d735ef0df61f5504fcd0d.png
管理成员(管理角色)
d096aa94248266cc599d93412ceb0815.png
  • 工作区角色:Admin、DBA、Member.

  • 项目角色:Owner、Developer、Releaser者、查询者、Exporter者、Viewer Querier.5d88382b2f1a142860acfe9105d5a7e2.png相关的角色及权限的详细配置可以参考:https://cn.bytebase.com/docs/concepts/roles-and-permissions/

配置环境
db3e8f01de2da78eba7af63463699a7c.png
添加实例(配置)

ef88b21741d27c0beb6bd0c7ab7e4b34.png1479ac1411cd105608f1253d78ebcbe4.png

访问 SQL 编辑器

cec1fb4784a2f9eab80f85cd085f437b.pnga8b9dc364cd9fc1ff7a7337fd924f51b.png

查询数据
37a8ab0470a603b433bd75f42825233c.png
SQL审查

079ccf9d155e07c9768a185d59346db9.gif

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

批量更改

可以从多个环境更改数据库9d42b20dcb83b23f6c4b4cebfdfa59b6.png以批处理模式创建项目,创建项目时选择batch模式,也可以稍后配置。b32ab8ef4c83e3d14f21ffc58611accf.png然后在这个批处理项目中:创建数据库,配置相关信息021108692f551236f25b9511f36cbd5e.png596feafa0225890be502af696b60868d.png65505f9d8de10dc9ec6d2c17baad151f.png然后在创建的数据中创建表组,并配置信息22f90e4e80c6162c2fbd57d26b1116a4.png307b18d8aa279c119d0db25c4dae1990.png167d7624d73cabbaf8ed6bba1872a983.png配置完成后,就可以进行批量操作了,点击刚刚创建的项目-数据库组2a4d2ed63d2cc3a36f9670512ff3567a.png批量更改1c9746a7bb3cfeefcc4746df22b07d25.png9436c8e848ed2a6d31b30b992c177564.png此数据库组下面有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 已成为一个强大的、可靠的数据库管理平台,能够帮助用户高效管理与维护数据库,提高日常开发和维护效率,

—   特色专栏  —

 MySQL|PostgreSQL|Redis|MongoDB|Tools

ElasticSearch|Kubernetes|Docker|Hadoop

 Kafka|RabbitMQ|Zookeeper|OpenStack

企业监控平台|应用与服务|DevOps|集群管理

da2bc26ea0042d9acf6ad204b0ba4041.gif

年终奖到账了!473662 元

华为开奖!2024 届校招薪资太吓人了!

面试这样说,HR喜欢听!成功率提高50%

马化腾回应微信“偷窥”相册!

新一代操作系统语言正崛起,打破C/C++垄断地位

弃用 Visio !事实证明,它更快、更牛逼!

Oracle 数据库很难么?带你从头到尾捋一遍!

公众号读者专属技术群

构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群(备注岗位,已在技术交流群的请勿重复添加)。主要以技术交流、内推、行业探讨为主,请文明发言。广告人士勿入,切勿轻信私聊,防止被骗。

扫码加我好友,拉你进群

0a3ad67da5f51e80490ed9a0d24a59a8.jpeg

285d5d3fb6e862fc8dad66ecd16b9369.png

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下在看,加个星标,这样每次新文章推送才会第一时间出现在你的订阅列表里。点在看支持我们吧!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐