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

news2024/11/15 21:45:03

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

点餐收银小程序

一、项目概述 Hi,大家好,今天分享的项目是《点餐收银小程序》。 系统含管理员/商家/用户三种角色,商家能维护菜式类别、维护菜品信息,用户在小程序能够选择门店,查看门店下各个分类的菜式信息,并进行加购…

【vSphere 7/8】深入浅出 vSphere 证书 Ⅲ—— vSphere 证书的更新和替换概述

目录 摘要1. vSphere Certificate Architecture2. 证书更新和替换概述2.1更新 VMCA 签名的证书(1)使用 vSphere Client UI(2)使用 vSphere Certificate Manager 命令行工具(自动)(3)…

行业大模型元年,“有云处皆智能”的愿景还有多远?

打造新质生产力、推动高质量发展,已成为众多行业用户在数字经济时代的一道必答题。 今年《政府工作报告》就提出要深化大数据、人工智能等研发应用,开展“人工智能”行动,大力推进现代化产业体系建设,加快发展新质生产力。这其中…

IBM是中国IT界的黄埔军校

关注卢松松,会经常给你分享一些我的经验和观点。 我第一次听说IBM还是小的时候,当时很多人都说IBM是厉害,外号“蓝色巨人”,潜移默化我也知道IBM牛了。 而且当年我买的第一款笔记本电脑就是IBM的ThinkPad系列,花了6…

Python酷库之旅-第三方库Pandas(112)

目录 一、用法精讲 491、pandas.DataFrame.cumsum方法 491-1、语法 491-2、参数 491-3、功能 491-4、返回值 491-5、说明 491-6、用法 491-6-1、数据准备 491-6-2、代码示例 491-6-3、结果输出 492、pandas.DataFrame.describe方法 492-1、语法 492-2、参数 492…

中国书法艺术孙溟㠭浅析《平复帖》

中国书法艺术孙溟㠭浅析《平复帖》 《平复帖》是西晋文学家、书法家陆机创作的书法作品,纵23.8厘米、横20.5厘米,共九行、八十四字,是陆机写给久病未愈朋友的问候信札,因其中有“恐难平复”字样,故得“平复帖”之名。 …

【C++ 面试 - STL】每日 3 题(一)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

2024最新最全:【计算机自学网站】大全,零基础入门到精通,看完这一篇就够了!

分享32个鲜为人知并且完全免费的高质量自学网站,每个都是堪称神器,让你相见恨晚。 1:Oeasy 是一个完全免费的综合视频教程网站,非常良心实用。 它提供的视频教程非常丰富并且质量很高,包括:PS 教程、手机…

通过 TS-Mixer 实现股票价格预测

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 最近遇到了 Time Mixer 模型,该模型以在复杂数据集上提供令人印象深刻的结果而闻名。出于好奇,我决定将其应用于我在 Kaggle 上找到的数据集,其中包含 Microsoft 的历史股票价格。在本文中,我…

盘点免费且靠谱的AI大模型 API,统一封装,任性调用!

现在做大模型,还有靠谱且免费的 API 接口吗? 靠谱的不免费,免费的不靠谱,鱼和熊掌不可兼得? 非也! 对于简单的指令而言,绝大部分免费的 LLM API 还是能打的,本文就给大家介绍几款&#xff0…

22.缓存雪崩缓存击穿

定义 同一时段大量的缓存key同时失效或者redis服务宕机,导致大量请求到达数据库,带来巨大压力。 解决方案 1.给不同key的TTL添加随机值。 2.利用redis集群提高服务的可用性。 3.给缓存业务添加降级限流策略。 4.给业务添加多级缓存。 缓存击穿 缓…

Redis持久化方式、常见问题及解决方案

在现代电商交易系统中,Redis作为一种高性能的内存数据库,被广泛用于缓存和数据持久化。然而,Redis作为内存数据库,面临着数据持久化和数据与持久化存储如MySQL之间的一致性问题。本文将详细讲解Redis的持久化方式、常见问题及其解…

常见框架报错信息

一、报错信息(不同类型转换) 2024-08-28 14:57:15.450 ERROR 8272 --- [io-8080-exec-12] c.w.common.exception.RRExceptionHandler : class java.lang.String cannot be cast to class java.lang.Integer (java.lang.String and java.lang.Integer ar…

IO进程练习:请在linux 利用c语言编程实现两个线程按照顺序依次输出”ABABABAB......“

例如&#xff1a;a线程输出”A”之后b线程输出”B”&#xff0c;然后a线程输出“A”&#xff0c;再b线程输出”B”&#xff0c;之后往复循环。 【1】使用信号量实现 代码展示&#xff1a; #include <stdio.h> #include <pthread.h> #include <string.h> #inc…

Java 输入与输出之 NIO.2【AIO】【Path、Paths、Files】【walkFileTree接口】探索之【三】

在JDK 1.7 版本中对NIO进行了完善&#xff0c;推出了NIO.2&#xff0c;也称为AIO&#xff08;异步IO&#xff09;&#xff0c;在处理大量并发请求时具有优势&#xff0c;特别是在网络编程和高并发场景下&#xff0c;表现得更为出色。 对于输出流和输入流而言&#xff0c;操作的…

sipp模拟uas发送update

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 但是fs在处理update消息时候有BUG&#xff0c;为了复现问题&#xff0c;使用sipp模拟uas&#xff0c;发送update并发送DTMF码。 本文档记录sipp的配置方案。 环境 CentOS 7.9 freeswitch 1.10.7 sipp.3.6.2 问题描…

【Hexo系列】【6】NexT主题使用

本期将为大家讲解Hexo NexT主题的使用。 1. NexT介绍 NexT是Hexo的知名第三方主题&#xff0c;黑白极简风格四合一&#xff0c;有相当多的使用者&#xff0c;维护也相当给力&#xff0c;数年来一直都在频繁更新。 Next主题官网&#xff1a;https://github.com/next-theme/he…

Mysql基础练习题 584.寻找用户推荐人 (力扣)

找出那些 没有被 id 2 的客户 推荐 的客户的姓名。 建表插入数据&#xff1a; Create table If Not Exists Customer (id int, name varchar(25), referee_id int) Truncate table Customer insert into Customer (id, name, referee_id) values (1, Will, None) insert int…

大模型技术如何重塑物流供应链

一、大模型技术与物流供应链的融合现状 在物流供应链领域&#xff0c;大模型技术正逐渐崭露头角&#xff0c;并在各个环节实现了初步渗透。在需求预测环节&#xff0c;大模型凭借其强大的数据处理和分析能力&#xff0c;能够整合多种复杂的数据源&#xff0c;如历史销售数据、…

Unet改进14:添加SEAttention||减少冗余计算和同时存储访问

本文内容:在不同位置添加SEAttention注意力机制 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 卷积算子是卷积神经网络(cnn)的核心组成部分,它使网络能够通过融合每层局部接受域内的空间和通道信息来构建信息特征。之前的广泛研究已经调查了这种关系的…