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

本文主要是介绍数据库 变更和版本控制管理工具 --Bytebase 安装部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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


文章目录

  • 数据库 变更和版本控制管理工具 --Bytebase 安装部署
  • 前言
  • 一.Docker部署Bytebase
    • 1.Docker 配置
    • 2. pull 数据
    • 3. 执行部署
    • 4. 打开浏览器 部署完成
  • 二、使用步骤
    • 1.注册超管
    • 2.配置 Configure External URL
  • 总结


前言

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 可以满足企业对数据库管理的高要求,确保业务的连续性和数据的安全性。

这篇关于数据库 变更和版本控制管理工具 --Bytebase 安装部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122903

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必