扔掉 Navicat、DBeaver、DataGrip,来试试这款吊炸天的开源数据库管理工具,吹爆!...
戳下方名片,关注并星标!回复“1024”获取2TB学习资源!大家好,我是民工哥!我们做 IT 行业的,工作始终绕不开数据库,所以,一款得心应手的、好用实用的数据库管理软件也是至关重要的。前面也推荐了不少有收费、开源的软件,大家可以点击文末Tools专栏查看,好不好用,只能看使用者的使用习惯与适合不适合。今天再来给大家推荐一款号称最强的开源数据库管理软件:Bytebase!这款软件有很多功能与 ..
戳下方名片,关注并星标!
回复“1024”获取2TB学习资源!
大家好,我是民工哥!
我们做 IT 行业的,工作始终绕不开数据库,所以,一款得心应手的、好用实用的数据库管理软件也是至关重要的。前面也推荐了不少有收费、开源的软件,大家可以点击文末 Tools 专栏查看,好不好用,只能看使用者的使用习惯与适合不适合。
今天再来给大家推荐一款号称最强的开源数据库管理软件:Bytebase!这款软件有很多功能与 Yearning 相似。
Bytebase 简介
ByteBase 使用 Go 语言开发的,它是一款开源、易用的数据库管理软件(数据库 DevOps 工具),用于在整个应用程序开发生命周期中管理数据库。它为 DBA、开发人员和平台工程师提供了一个基于 Web 的协作工作区。它可以轻松管理数据库模式,进行数据追踪、备份和还原等操作,提供了多种辅助工具以及强大的搜索和查询功能,全球唯一一个同时被 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
支持的数据库
支持多种主流的数据库管理系统,包括但不限于:此外,Bytebase还支持与多种数据库进行集成,如PostgreSQL、MySQL、ClickHouse等。
Bytebase 主要特点
SQL审查
Bytebase 会分析 SQL 更改,以强制执行符合组织策略的规则。强制包括命名约定、反 SQL 模式检测等。生产环境和非生产环境也可以分别强制执行不同的规则。
数据库 CI/CD 和变更自动化
与代码审查一样,Bytebase 简化了数据库更改过程。在单个工作流中,可以查看数据库更改,并将其从开发环境一直部署到生产环境。
GitOps(数据库即代码)
Bytebase 保留完整的架构更改历史记录。它还与 VCS 系统集成。团队可以在 VCS 中管理 SQL 迁移脚本,并在代码提交时触发架构部署。
批量更改和查询
Bytebase 允许您在单个工作流中更改数据库集合。它还允许您对多个数据库发出单个查询。
SQL 编辑器
基于 Web 的 SQL 编辑器,用于查询和导出数据。当开发人员需要访问数据时,DBA 不再需要泄露敏感的数据库凭据。
动态数据屏蔽
Bytebase 提供多级屏蔽策略和工作流,以授予未屏蔽的数据访问权限。
数据访问控制
Bytebase 提供了一套功能,使组织能够执行数据安全策略、避免数据泄露并符合合规性。
数据回滚和容灾
语句级回滚
数据库级手动和定期备份和恢复
时间点恢复 (PITR)
Bytebase VS DBeaver/Navicat
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 即可。
操作介绍
注册管理员账号,然后登录管理控制台。
管理成员(管理角色)
工作区角色:Admin、DBA、Member.
项目角色:Owner、Developer、Releaser者、查询者、Exporter者、Viewer Querier.相关的角色及权限的详细配置可以参考:https://cn.bytebase.com/docs/concepts/roles-and-permissions/
配置环境
添加实例(配置)
访问 SQL 编辑器
查询数据
SQL审查
DBA 事先建立相关的审查策略及规则,当开发人员提交 SQL 来查询或更改数据库时,SQL Advisor 会在 DBA 审核之前自动检查这些规则。
批量更改
可以从多个环境更改数据库以批处理模式创建项目,创建项目时选择batch模式,也可以稍后配置。然后在这个批处理项目中:创建数据库,配置相关信息然后在创建的数据中创建表组,并配置信息配置完成后,就可以进行批量操作了,点击刚刚创建的项目-数据库组批量更改此数据库组下面有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
公众号读者专属技术群
构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群(备注岗位,已在技术交流群的请勿重复添加)。主要以技术交流、内推、行业探讨为主,请文明发言。广告人士勿入,切勿轻信私聊,防止被骗。
扫码加我好友,拉你进群
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!
更多推荐
所有评论(0)