Tidb 使用minio 进行br备份数据库的过程
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备份数据库的过程的更多相关文章
- 在linux和windows下自动备份数据库
摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...
- PHP备份数据库的原理和方法 57
1.PHP备份数据库的原理查找所有表--查找所有字段(需要列出所有字段名, 字段类型等相关信 息)---查找所有数据(读取数据出来注意 特殊符号的转换 addslashes ())--生成SQL(把数 ...
- php备份数据库类分享
本文实例讲述了php实现MySQL数据库备份类.分享给大家供大家参考.具体分析如下:这是一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的配置好连接地址用户名与数据库即可 ph ...
- php备份数据库
php备份数据库原理和方法 原理 查找所有表 查找所有字段,列出所有字段名 字段类型等信息 查找所有数据 读取后注意特殊符号转换addslashes() 生成sql 把数据库格式化生成对应sql 相关 ...
- oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)
开发过程中,需要不停的备份数据库对象, 特别是存储过程, 每次手动备份不免很低能啊 历经几次修改终于, 完美了,O(∩_∩)O哈哈~ (当然,你也可以再改简便一点~~~) select db ...
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...
- Sql Server自动备份数据库,定期删除备份
//实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...
- 知方可补不足~SqlServer自动备份数据库及清理备份文件
回到目录 对于SQLSERVER这个关系型数据库来说,为了保持数据的安全,备份是必须的,当你的一个误操作导致数据丢失,这可能是灾难性的,是不被允许发生的,这时,我们必须要做好定期的备份工作,如我们可以 ...
- mysql load data infile的使用 和 SELECT into outfile备份数据库数据
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...
- 出现“System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部”错误的解决方案
Sql Server2008数据库在还原时出现如下错误信息:System.Data.SqlClient.SqlError: 尚未备份数据库<数据库名称>的日志尾部.如果该日志包含您不希望丢 ...
随机推荐
- 从0开始学微信逆向开发(android版)——第一栏
首先给大家普及一下啥叫微信逆向开发,以及微信逆向开发能做什么: 场景1:小明是做微商的,他每天需要加很多很多的好友.然后他会通过微信的各种渠道去添加好友,比如(附近的人.摇一摇.漂流瓶.手机号搜索等) ...
- RSA 加密算法
RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用.RSA是由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Ad ...
- Spring源码学习笔记5——注册BeanPostProcessor,初始化事件多播器,注册事件监听器
一丶前言 上篇Spring容器回调完所有的BeanFactoryPostPocessor,之后可以做到替换所有占位符,解析所有配置类等工作,这篇还会迎来一个Spring留给我们扩展的一个接口,涉及到A ...
- 文心一言 VS 讯飞星火 VS chatgpt (60)-- 算法导论6.4 4题
文心一言 VS 讯飞星火 VS chatgpt (60)-- 算法导论6.4 4题 四.证明:在最坏情况下,HEAPSORT 的时间复杂度是Ω (nlgn). 文心一言: 要证明在最坏情况下,HEAP ...
- 视频编码耗时长、编码帧发送失败…DVPP视频编码问题典型案例分析
摘要:本期就分享几个关于DVPP视频编码问题的典型案例,并给出原因分析及解决方法 本文分享自华为云社区<DVPP媒体数据处理视频编码问题案例>,作者:昇腾CANN. DVPP(Digita ...
- ModelArts黑科技揭秘|弹性训练,让训练资源张弛有度
摘要:AI进入产业的门槛变高,开发者想要做出优秀的AI模型就不得不在算力和成本之间折中,怎么办? 为帮助企业在AI落地过程中进一步实现降本增效,华为云推出AI黑科技--弹性训练. 今年,AI界最被热议 ...
- 带你掌握不同平台下,探索JDK源码所需的native方法
摘要:要探索JDK的核心底层源码,那必须掌握native用法.文章中会以"获取系统的默认时区"为例,介绍说明如何查看native对应方法的源码. 本文分享自华为云社区<要探索 ...
- 云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构设计分析
SaaS--软件即服务(Software as a Service)的出现改变了传统使用软件转变为使用服务. SaaS与传统软件的最大区别是,前者按年付费租用服务,后者一次买断.这貌似只是" ...
- web messaging与Woker分类:漫谈postMessage跨线程跨页面通信
web messaging 跨文档通信(cross-document messaging):跨就是我们国内更为熟知的HTML5 window.postMessage()应用的那种通信: 通道通信(ch ...
- OpenSSF发布npm 最佳实践指南,应对开源依赖风险
开源安全基金会(OpenSSF)发布了 npm 最佳实践指南,以帮助 JavaScript 和 TypeScript 开发人员降低使用开源依赖项相关的安全风险.OpenSSF Best Practic ...