数据库 变更和版本控制管理工具 --Bytebase 安装部署

简介: 数据库 变更和版本控制管理工具 --Bytebase 安装部署

前言

Bytebase 是一个现代化的数据库 schema 变更和版本控制管理工具。

主要功能

  1. 数据库变更管理:

可以方便地进行数据库结构的变更,如添加表、修改列、创建索引等操作。通过清晰的变更流程,确保数据库的变更能够安全、有序地进行。

提供可视化的界面,让开发人员和数据库管理员可以直观地看到变更的内容和影响。

  1. 版本控制:

对数据库 schema 进行版本管理,类似于代码的版本控制系统。可以记录每次变更的历史,方便回滚到特定的版本。

支持团队协作,多个成员可以共同管理数据库的变更,确保变更的一致性和可追溯性。

  1. 环境管理:

可以管理不同的数据库环境,如开发环境、测试环境和生产环境。确保在不同环境中的数据库结构保持一致。

方便地进行环境之间的数据库同步和迁移。

  1. 安全和权限管理:

提供细粒度的权限控制,确保只有授权的用户才能进行数据库变更操作。

可以对敏感数据进行加密和访问控制,提高数据库的安全性。

  1. 集成和自动化:

可以与常见的开发工具和 CI/CD 流程集成,实现自动化的数据库变更管理。

支持通过 API 进行扩展和定制,满足不同的业务需求。


提示:以下是本篇文章正文内容,下面案例可供参考

一.Docker部署Bytebase

从官网可以知道 部署还是很方便的,但是需要一定改进。

1.Docker 配置

由于中国网络的一些问题,需要修改 docker engine 具体 建见之前的 我写的说明

docker Desktop报错 error pulling image configuration 处理

2. pull 数据

目前官网是 https://bytebase.cc/docs/get-started/self-host/ 下



docker run:用于启动一个新的 Docker 容器。
--rm:当容器退出时自动删除容器。
--init:为容器添加一个 init 进程来处理信号和传递信号给应用进程,以确保容器内的应用能正确地处理信号和优雅地退出。
--name bytebase:为容器指定一个名称为 “bytebase”。
--publish 8080:8080:将容器的 8080 端口映射到主机的 8080 端口,这样可以通过主机的 8080 端口访问容器内的服务。
--pull always:始终尝试拉取最新版本的镜像。
--volume ~/.bytebase/data:/var/opt/bytebase:将主机上的~/.bytebase/data目录挂载到容器内的/var/opt/bytebase目录,实现数据的持久化存储和共享。
bytebase/bytebase:2.22.2:指定要运行的镜像名称和标签,这里是名为 “bytebase” 的镜像,版本号为 2.22.2

但是可以知道 如果根据官网说的 --rm 下次可能有要重新安装的 ,所以这里改为 :

docker run --restart=always --init --name bytebase --publish 8080:8080 --pull always --volume ~/.bytebase/data:/var/opt/bytebase bytebase/bytebase:2.22.2


代码的解释:
docker run:用于启动一个新的 Docker 容器。
--restart=always:容器总是在退出后自动重新启动,确保服务的高可用性。
--init:为容器添加一个 init 进程来处理信号和传递信号给应用进程,以确保容器内的应用能正确地处理信号和优雅地退出。
--name bytebase:为容器指定一个名称为 “bytebase”。
--publish 8080:8080:将容器的 8080 端口映射到主机的 8080 端口,这样可以通过主机的 8080 端口访问容器内的服务。
--pull always:始终尝试拉取最新版本的镜像。
--volume ~/.bytebase/data:/var/opt/bytebase:将主机上的~/.bytebase/data目录挂载到容器内的/var/opt/bytebase目录,实现数据的持久化存储和共享。
bytebase/bytebase:2.22.2:指定要运行的镜像名称和标签,这里是名为 “bytebase” 的镜像,版本号为 2.22.2。

3. 执行部署

copy 命令

直到出现 Bytebase

4. 打开浏览器 部署完成

二、使用步骤

1.注册超管

输入邮箱,密码和 用户名

2.配置 Configure External URL

在生产环境中运行 Bytebase 时,你不应该让运行 Bytebase 服务器的节点直接被客户端访问。相反,你应该设置一个网关,如 Nginx 或 Caddy,来将请求转发到 Bytebase。

从逻辑上讲,你需要配置两个端点,用户用于访问 Bytebase 控制台的外部 URL,以及用于 GitOps 工作流的版本控制系统(VCS)推送 Webhook 事件的 GitOps Webhook URL。前者通常从内部网络访问,而如果使用 GitHub.com 或 GitLab.com,后者可能来自外部网络。如果它们都可以通过同一个端点访问,那么你只需要配置外部 URL。


网络图

这里举个例子 这里就初步安装好了


总结

以上就是 在windows 环境下的配置 ,其实这个工具越来越多被人知晓

也 适用很多场景

  • 软件开发团队:

在软件开发过程中,数据库结构经常需要变更。Bytebase 可以帮助团队有效地管理这些变更,确保开发、测试和生产环境的数据库一致性。

  • 数据库管理员:

对于数据库管理员来说,Bytebase 提供了一个集中的管理平台,可以更好地控制数据库的变更,提高数据库的稳定性和安全性。

  • 企业级应用:

在企业级应用中,数据库的变更管理至关重要。Bytebase 可以满足企业对数据库管理的高要求,确保业务的连续性和数据的安全性。

目录
相关文章
|
6月前
|
监控 Oracle 关系型数据库
Flink CDC(Change Data Capture)是一种用于捕获数据库变更的技术
Flink CDC(Change Data Capture)是一种用于捕获数据库变更的技术
79 8
|
NoSQL 关系型数据库 MySQL
Linux平台下安装部署MongoDB数据库及基本使用(1)
Linux平台下安装部署MongoDB数据库及基本使用(1)
455 0
|
6月前
|
Oracle 关系型数据库 数据库
postgresql|数据库|数据迁移神器ora2pg的安装部署和初步使用
postgresql|数据库|数据迁移神器ora2pg的安装部署和初步使用
194 0
|
11天前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
33 9
|
23天前
|
SQL Java 数据库
Spring Boot与Flyway:数据库版本控制的自动化实践
【10月更文挑战第19天】 在软件开发中,数据库的版本控制是一个至关重要的环节,它确保了数据库结构的一致性和项目的顺利迭代。Spring Boot结合Flyway提供了一种自动化的数据库版本控制解决方案,极大地简化了数据库迁移管理。本文将详细介绍如何使用Spring Boot和Flyway实现数据库版本的自动化控制。
23 2
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库-概括与常用图形管理工具
MySQL数据库-概括与常用图形管理工具
|
6月前
|
关系型数据库 Go 数据库
【Go语言专栏】Go语言中的数据库迁移与版本控制
【4月更文挑战第30天】本文介绍了Go语言中的数据库迁移和版本控制。针对数据库迁移,文章提到了使用Flyway和Liquibase两个工具。通过示例展示了如何在Go中集成这两个工具进行数据库结构的修改,以适应业务变化。而对于版本控制,文章以Git为例,说明了如何利用Git进行源代码和配置文件的管理,确保代码一致性与可追溯性。
208 0
|
3月前
|
资源调度 关系型数据库 MySQL
【Flink on YARN + CDC 3.0】神操作!看完这篇教程,你也能成为数据流处理高手!从零开始,一步步教会你在Flink on YARN模式下如何配置Debezium CDC 3.0,让你的数据库变更数据瞬间飞起来!
【8月更文挑战第15天】随着Apache Flink的普及,企业广泛采用Flink on YARN部署流处理应用,高效利用集群资源。变更数据捕获(CDC)工具在现代数据栈中至关重要,能实时捕捉数据库变化并转发给下游系统处理。本文以Flink on YARN为例,介绍如何在Debezium CDC 3.0中配置MySQL连接器,实现数据流处理。首先确保YARN上已部署Flink集群,接着安装Debezium MySQL连接器并配置Kafka Connect。最后,创建Flink任务消费变更事件并提交任务到Flink集群。通过这些步骤,可以构建出从数据库变更到实时处理的无缝数据管道。
291 2
|
3月前
|
数据库 Java 数据库连接
玩转Play Framework的秘密武器:Ebean ORM带你解锁高效数据库操作新姿势,让你的代码从此飞起来!
【8月更文挑战第31天】Play Framework 以其简洁的 API 和高效开发体验著称,Ebean ORM 则是其推荐的对象关系映射(ORM)工具之一。Ebean 可将 Java 对象轻松映射到数据库表,简化数据库交互。本文将指导你在 Play Framework 中使用 Ebean ORM 进行数据库操作,涵盖项目创建、依赖引入、数据库配置、模型定义及 CRUD 操作,并通过示例代码展示实现过程。通过这些步骤,你将学会如何利用 Ebean 的丰富功能,如事务管理、查询构建等,提升 Web 应用的数据库交互能力。
61 0
|
3月前
|
存储 测试技术 数据库
Entity Framework Core Migrations 超厉害!轻松实现数据库版本控制,让你的开发更顺畅!
【8月更文挑战第31天】数据库的演变是软件开发中不可或缺的部分。随着应用发展,数据库需不断调整以适应新功能。Entity Framework Core Migrations 作为数据库的守护者,提供强大的版本控制手段,确保不同环境下的数据库一致性。通过创建和管理迁移脚本,开发者可以有序地管理数据库变更,避免混乱和数据丢失。安装并配置好 EF Core 后,可以通过命令行工具轻松创建、应用及回滚迁移,如 `dotnet ef migrations add InitialMigration` 和 `dotnet ef database update`。
36 0