BR 基础问题

您好:
麻烦询问BR 相关问题。多谢
1:BR 写本地文件的权限和用户默认是什么? 出现写本地文件没有权限,我是用root 用户执行BR
2: BR 在一个PD 节点备份,执行命令:./br backup full --pd “127.0.0.1:3379” -s “local:///tmp/db_backup/” "是备份的所有PD 节点的数据,还是一个PD节点的数据,那么如果我恢复数据的时候是恢复这一个PD 的数据,还是全量数据。
3:如果三个PD节点,分别执行BR 备份命令,那么手动合并文件和S3远程存储放同一个路径有什么区别呢 ?

1、BR 备份写本地文件,备份用户有相应目录的权限即可。如果备份到本地报错,可以提供下 TiDB,BR 的版本,执行的备份命令,以及完整的备份日志 log。

2、BR 备份确实是需要指定一个 PD 节点,但是备份的数据不是 PD 的数据,而是 TiKV 的数据。指定 PD 的节点的原因是 PD 节点保存了 store 元信息。

3、如果多个备份任务并行的跑,会对 TiKV 集群造成比较大的压力,并且备份任务间可能会相互影响备份的性能,故不建议两个备份任务同时执行。BR 在备份时,是基于 snapshot 的,所以每个备份任务都是独立存在的:

https://docs.pingcap.com/zh/tidb/v4.0/backup-and-restore-tool

4、BR 备份到本地和 S3 的差别如下:

1)备份到本地
在使用 BR 备份时,如果使用的是本地盘,那么备份出来的 sst 文件会存放到各个 TiKV 节点的目录中,即备份出来的文件,是零散的分布的,没有集中存储。那么在恢复时,需要读取将各个 TiKV 节点备份生成出来的 sst 文件,所以在恢复时需要确保任意 TiKV 能访问到备份的所有 sst 文件。 聚集这些备份数据可能会造成数据冗余和运维上的麻烦,而且在不聚集这些数据便直接恢复的时候会遇到颇为迷惑的 SST file not found 报错。

2)备份到 S3
基于本地备份的缺点,故建议使用 S3,将备份集中存放。

还麻烦问一下,是BR所有粒度的备份,都只能在新集群中恢复吗 ?
粒度:集群,DB ,Table

[br.log.2020-06-19T16.22.20 0800|attachment](upload://2pagGiHpmU4J2OoijrVBxqEpHWJ.20 0800) (5.7 KB)

以上是权限报错信息和日志。

1、官方文档中有相关的描述,备份的粒度可以是 所有对象,也可以是 DB ,Table。在恢复时,强烈推荐在新集群进行恢复,如果是已有集群,恢复有风险 ,因为恢复时会重建备份的对象。可能会出现数据库对象名冲突的情况,那么需要务必确保恢复集群和备份中的 DB,Table 没有重名的对象

2、关于备份出现的权限相关的报错,请参考下述连接中推荐的解决办法:
https://docs.pingcap.com/zh/tidb/v4.0/backup-and-restore-faq#br-遇到-permission-denied-错误即使用-root-运行-br-也无法解决该如何处理