br restore db

【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.2
【遇到的问题:问题现象及影响】
在使用br restore db恢复的时候,可以用来将特定db恢复到一个已经在使用的,包含其他db的tidb集群中吗?恢复不会对线上已有
其他db产生影响吧,还是只能恢复到一个空tidb集群中?

可以恢复单个 db 到已有集群,性能的话注意调整参数控制并发就好

可以恢复,注意限速

可以的,有限速的参数

ratelimit参数可以限制导出或者导入速度

完全可以哈,恢复过程中可以调整 concurrency(备份或恢复阶段的任务并发数)以及 ratelimit 每个 TiKV 备份数据的速度上限,单位为 MiB/s 加以限制,避免对线上业务产生影响

可以的呦

可以的,限速的参数控制一下

可以的,限速的参数控制一下就行

但是在恢复的时候报错:
Error: failed to check task exits: log backup task is running: xxx_pitr, please stop the task before restore, and after PITR operation finished, create log-backup task again and create a full backup on this cluster
只需要停掉日志备份,等恢复后,再起日志备份就可以?

最新报错:
Error: the config ‘new_collations_enabled_on_first_bootstrap’ not match, upstream:False, downstream: True: [BR:Common:ErrUnknown]internal error
但是我通过show config 看新旧集群new_collations_enabled_on_first_bootstrap的值都是true

可以的

可以这么搞,把相关参数配置一下就行了

在TiDB中,br restore db命令是用于使用Backup & Restore (BR)工具恢复数据的。BR工具是专为TiDB设计的,用于高效备份和恢复大规模数据。根据您的描述,您希望将特定的数据库(DB)恢复到一个已经包含其他数据库的TiDB集群中。

在TiDB v6.5.2版本中,BR工具支持将数据恢复到一个已经存在的集群中,即使该集群中已经有其他的数据库存在。但是,在进行恢复操作时,需要注意以下几点以确保不会对线上已有的其他数据库产生影响:

  1. 隔离性:在进行恢复操作时,应该尽量选择集群负载较低的时间窗口进行,以减少对其他数据库的影响。
  2. 并发控制:如果恢复的数据量很大,可能会占用较多的集群资源,如网络带宽、磁盘I/O等,这可能会影响到集群中其他数据库的正常运行。可以通过调整恢复任务的并发度来减轻这种影响。
  3. 权限管理:确保执行恢复操作的用户具有足够的权限,并且在恢复过程中不会影响到其他数据库的权限设置。
  4. 数据一致性:在恢复过程中,应该确保恢复的数据与集群中其他数据库的数据保持一致性。例如,如果恢复的数据库与其他数据库有关联,需要确保关联数据的完整性。
  5. 备份验证:在恢复之前,应该对备份数据进行验证,确保备份数据的完整性和可用性。
  6. 监控和日志:在恢复过程中,应该密切监控集群的状态和日志,以便及时发现并解决问题。

总之,BR工具支持将特定DB恢复到一个已经包含其他DB的TiDB集群中,但需要谨慎操作,以确保不影响集群中其他数据库的正常运行。在实际操作前,建议详细阅读BR工具的官方文档,并在非生产环境中进行充分的测试。如果在生产环境中进行操作,务必做好充分的准备和监控。

可以的,但是确实会造成性能抖动,应该硬件资源是有限的。