Tidb 使用minio 进行br备份数据库的过程


背景

br 备份恢复时一般需要共享存储.
前段时间一直使用的是nfs 进行共享文件备份.
这样需要所有的机器在 相同的目录下面挂载相同的nfs.
并且是需要有读写权限. 所以nfs 就比较复杂了. 而且需要有宿主机的权限比较难以实现.
使用s3协议. 或者是minio的话 应该会简单很多.
直接可以使用http的协议进行文件的备份与恢复.

minio的搭建

这一块比较简单, 不需要多次说明了.
唯一需要说明的是 minio 必须有一个bucket 才可以执行备份与恢复. 可以使用命令方式进行创建.
下载一个 mc 的工具 然后进行如下处理:
mc config host add minio http://192.168.255.65:9000 miniouser miniopassword
创建一个 bucket
mc mb minio/tidb20230810

使用s3协议进行备份

# 安装
tiup install br:v6.5.3
# 一般情况下的目录
cd /root/.tiup/components/br/v6.5.3/
# 执行命令一般为:
export AWS_ACCESS_KEY_ID=miniouser
export AWS_SECRET_ACCESS_KEY=miniopasswd
# 需要注意 这个不是 minio的 是AWS 开头的. 与minio的环境变量不一致.
# 备份
time br backup full --pd "192.168.255.xx:2379" --storage "s3://tidb20230810" --s3.endpoint "http://192.168.255.xx:9000" --send-credentials-to-tikv=true --log-file backupfull.log
# 恢复
time br restore full --pd "192.168.255.xx:2379" --storage "s3://tidb20230810" --s3.endpoint "http://192.168.255.xx:9000" --send-credentials-to-tikv=true --log-file restorefull.log # 需要注意 s3 后面的 bucket 必须优先创建,不然那会报错.
Error: failed to get region of bucket tidb20230810: NotFound: Not Found
status code: 404, request id: 177A0092AAB86045, # 注意一个bucket 仅可以备份一次, 多次备份会报错:
Error: backup meta file exists in s3://tidb20230810//backupmeta, there may be some backup files in the path already, please specify a correct backup directory!: [BR:Common:ErrInvalidArgument]invalid argument

备份的效果

Full Backup <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 100.00%
Checksum <---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 100.00%
[2023/08/10 19:15:44.641 +08:00] [INFO] [collector.go:73] ["Full Backup success summary"] [total-ranges=5781] [ranges-succeed=5781] [ranges-failed=0] [backup-checksum=23.204545089s] [backup-fast-checksum=1.587649818s] [backup-total-ranges=7170] [total-take=2m2.571503392s] [total-kv=146164259] [total-kv-size=135.8GB] [average-speed=1.108GB/s] [backup-data-size(after-compressed)=7.876GB] [Size=7875854527] [BackupTS=443460098398617601] real 2m2.628s
user 0m26.261s
sys 0m4.925s

Tidb 使用minio 进行br备份数据库的过程的更多相关文章

  1. 在linux和windows下自动备份数据库

    摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...

  2. PHP备份数据库的原理和方法 57

    1.PHP备份数据库的原理查找所有表--查找所有字段(需要列出所有字段名, 字段类型等相关信 息)---查找所有数据(读取数据出来注意 特殊符号的转换 addslashes ())--生成SQL(把数 ...

  3. php备份数据库类分享

    本文实例讲述了php实现MySQL数据库备份类.分享给大家供大家参考.具体分析如下:这是一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的配置好连接地址用户名与数据库即可   ph ...

  4. php备份数据库

    php备份数据库原理和方法 原理 查找所有表 查找所有字段,列出所有字段名 字段类型等信息 查找所有数据 读取后注意特殊符号转换addslashes() 生成sql 把数据库格式化生成对应sql 相关 ...

  5. oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)

    开发过程中,需要不停的备份数据库对象, 特别是存储过程, 每次手动备份不免很低能啊 历经几次修改终于, 完美了,O(∩_∩)O哈哈~      (当然,你也可以再改简便一点~~~) select db ...

  6. Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

    Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...

  7. Sql Server自动备份数据库,定期删除备份

    //实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...

  8. 知方可补不足~SqlServer自动备份数据库及清理备份文件

    回到目录 对于SQLSERVER这个关系型数据库来说,为了保持数据的安全,备份是必须的,当你的一个误操作导致数据丢失,这可能是灾难性的,是不被允许发生的,这时,我们必须要做好定期的备份工作,如我们可以 ...

  9. mysql load data infile的使用 和 SELECT into outfile备份数据库数据

    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...

  10. 出现“System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部”错误的解决方案

    Sql Server2008数据库在还原时出现如下错误信息:System.Data.SqlClient.SqlError: 尚未备份数据库<数据库名称>的日志尾部.如果该日志包含您不希望丢 ...

随机推荐

  1. 从0开始学微信逆向开发(android版)——第一栏

    首先给大家普及一下啥叫微信逆向开发,以及微信逆向开发能做什么: 场景1:小明是做微商的,他每天需要加很多很多的好友.然后他会通过微信的各种渠道去添加好友,比如(附近的人.摇一摇.漂流瓶.手机号搜索等) ...

  2. RSA 加密算法

    RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用.RSA是由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Ad ...

  3. Spring源码学习笔记5——注册BeanPostProcessor,初始化事件多播器,注册事件监听器

    一丶前言 上篇Spring容器回调完所有的BeanFactoryPostPocessor,之后可以做到替换所有占位符,解析所有配置类等工作,这篇还会迎来一个Spring留给我们扩展的一个接口,涉及到A ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (60)-- 算法导论6.4 4题

    文心一言 VS 讯飞星火 VS chatgpt (60)-- 算法导论6.4 4题 四.证明:在最坏情况下,HEAPSORT 的时间复杂度是Ω (nlgn). 文心一言: 要证明在最坏情况下,HEAP ...

  5. 视频编码耗时长、编码帧发送失败…DVPP视频编码问题典型案例分析

    摘要:本期就分享几个关于DVPP视频编码问题的典型案例,并给出原因分析及解决方法 本文分享自华为云社区<DVPP媒体数据处理视频编码问题案例>,作者:昇腾CANN. DVPP(Digita ...

  6. ModelArts黑科技揭秘|弹性训练,让训练资源张弛有度

    摘要:AI进入产业的门槛变高,开发者想要做出优秀的AI模型就不得不在算力和成本之间折中,怎么办? 为帮助企业在AI落地过程中进一步实现降本增效,华为云推出AI黑科技--弹性训练. 今年,AI界最被热议 ...

  7. 带你掌握不同平台下,探索JDK源码所需的native方法

    摘要:要探索JDK的核心底层源码,那必须掌握native用法.文章中会以"获取系统的默认时区"为例,介绍说明如何查看native对应方法的源码. 本文分享自华为云社区<要探索 ...

  8. 云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构设计分析

    SaaS--软件即服务(Software as a Service)的出现改变了传统使用软件转变为使用服务. SaaS与传统软件的最大区别是,前者按年付费租用服务,后者一次买断.这貌似只是" ...

  9. web messaging与Woker分类:漫谈postMessage跨线程跨页面通信

    web messaging 跨文档通信(cross-document messaging):跨就是我们国内更为熟知的HTML5 window.postMessage()应用的那种通信: 通道通信(ch ...

  10. OpenSSF发布npm 最佳实践指南,应对开源依赖风险

    开源安全基金会(OpenSSF)发布了 npm 最佳实践指南,以帮助 JavaScript 和 TypeScript 开发人员降低使用开源依赖项相关的安全风险.OpenSSF Best Practic ...