tidb-lighting恢复数据

【 TiDB 使用环境】生产环境 /测试/ Poc
生产
【 TiDB 版本】
5.2.1
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
使用dumpling备份数据后,用lighting恢复数据,但是想恢复到指定schema下,请问在配置文件里怎么写
【资源配置】

【附件:截图/日志/监控】

dumpling导出的数据是用库名.表名命名的,可以尝试把其中的库名改成你想导入的schema名称,然后用lighting导入

那数据文件里面和 schema 文件里面的库表名都要改,只改文件名还不太够 :joy:

5.2 版本的 lightning 支持 route 规则,可以看一下:

# 设置分库分表合并规则,将 my_db1 中的 table1、table2 两个表,以及 my_db2 中的 table3、table4 两个表,共计 2 个数据库中的 4 个表都导入到目的数据库 my_db 中的 table5 表中。
# [[routes]]
# schema-pattern = "my_db1"
# table-pattern = "table[1-2]"
# target-schema = "my_db"
# target-table = "table5"
# 
# [[routes]]
# schema-pattern = "my_db2"
# table-pattern = "table[3-4]"
# target-schema = "my_db"
# target-table = "table5"

FYI:https://docs.pingcap.com/zh/tidb/v5.2/tidb-lightning-configuration

我记得数据文件里面是不包含schema信息的。当然,能用配置来解决问题更好。

我改了库名字,报检查错误,我看库里面表已经建立,但是数据没进去,报了一个检查的错误

你的数据路径和临时路径是不是在同一个物理磁盘上

是的,不能放到一个盘上?

可以的,在使用lightning的时候加上参数 --check-requirements=false 跳过磁盘的检查

用 dumpling 导出 sql 文件的话,里面就有库表名

precheck 报错 lightning 会打印到 stdout 上,可以看下是哪一项没有通过:

可以了,我看输出日志报错,但是lingting的日志不报错,我以为就是错了呢,再看数据已经过来了。多谢解答

好的,谢谢

完成了以后要检查一下数据。你上面截图的报错,只是说你的两个路径在同一个磁盘,会影响性能而已,问题不大。

这个route 规则,在所有的后端模式都可以使用吗?

是的,无论 tidb-backend 还是 local-backend 都可以