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: 尚未备份数据库<数据库名称>的日志尾部.如果该日志包含您不希望丢 ...
随机推荐
- zabbix常用监控项
https://blog.csdn.net/xkjcf/article/details/78559273?locationNum=10&fps=1 agent.ping #agent是否在线 ...
- ubuntu 之 安装mysql8
安装 1 wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb 2 sudo apt-get update sudo apt ...
- Deployment控制器
目录 Deployment控制器 1.deployment及副本数 使用命令生产yaml文件模板 控制器通过什么管理pod? 2.副本数修改方法 3.动态扩展HPA 4.镜像滚动升级及回滚 升级 回退 ...
- Picker 选择器
WXML 文件中 <view class="container"> <view> <text>选择器的值: {{pickerValue}}< ...
- maven 实现pb的实时编译
<properties> <protobuf.version>3.15.7</protobuf.version></properties> <ex ...
- Kubernetes(K8S) 配置管理 Secret 介绍
Secret 作用:加密数据(base64)存在 etcd 里面,让 Pod 容器以挂载 Volume 方式进行访问 场景:凭证 [root@k8smaster ~]# echo -n 'admin' ...
- ECS 挂载 OSS 多Bucket
ECS 挂载 OSS,等同于在ECS 上使用内网的 Bucket 域名,不需要收取流量费用,减少接口代码的编写. CentOS系统 安装 wget http://gosspublic.alicdn.c ...
- SELinux 入门 pt.2
哈喽大家好,我是咸鱼 在<SELinux 入门 pt.1>中,咸鱼向各位小伙伴介绍了 SELinux 所使用的 MAC 模型.以及几个重要的概念(主体.目标.策略.安全上下文) 我们还讲到 ...
- vi / vim 键盘图(清晰打印版,桌面背景好图)
PDF File https://files.cnblogs.com/files/RioTian/vivim-graphical.zip?t=1704439837&download=true ...
- 【3rd Party】Cpp 中使用 Protobuf
前置条件: [Protoc]VS2019 (VS平台) 使用 CMake 编译安装.使用 Protobuf 库 [ToolChains]CLion(VS2019) + CMake + Vcpkg 的使 ...