正文
lightning 导入数据库表的操作步骤
TiDB数据库备份恢复的方式与方法
1. mysqldumper 以及 mysql 导入
2. select into outfile 以及 load data in localfile
3. 使用br工具进行备份与恢复.
4. 使用dumpling导出数据,然后使用load data 的方式导入数据
5. 使用dumplig/mysqldumper 等工具导出csv文件,通过lightning的方式执行导入.
关于lightning的一些了解.
lightning 其中两种引擎执行导入:
TiKV和TiDB backend
TiKV 要求表必须为空执行导入.
TiDB 作为后端时可以允许表为空.
因为本次的一些需求和场景, 计划使用lightning的tidb的后端执行导入.
方便进行表扩充.
安装处理
tiup install tidb-lightning
tiup install ctl
需要注意, 如果tidb-lightning 导入出过错误的话. 需要先清理一下.
./tidb-lightning-ctl --checkpoint-error-destroy=all
错误信息一般为:
TiDB Lightning has failed last time. To prevent data loss, this run will stop now
参数配置文件
[lightning]
level = "info"
file = "tidb-lightning.log"
region-concurrency = 64
max-size = 128 # MB
max-days = 28
max-backups = 14
[mydumper.csv]
header = false
[mydumper]
data-source-dir = "/nvme01/dumpling/ac_pzhxmls/export/2022/01/"
[tikv-importer]
backend = "tidb"
on-duplicate = "replace"
#duplicate-resolution = 'replace'
sorted-kv-dir = "/nvme00/zhaobshtest"
[tidb]
host = "192.168.255.xxxx"
port = 4002
user = "root"
password = "Testxxxxxx"
status-port = 10080
pd-addr = "192.168.255.xxx:2379"
log-level = "error"
[post-restore]
checksum = "required"
analyze = "optional"
使用的命令为
tidb-lightning --config lightning.conf
分类注意事项
lightning 其实可以异名恢复数据库.
他获取表名是基于 csv文件的 databasename.tablename.random_num.csv 进行切分的
所以如果表结构一直, 可以通过rename的方式将文件进行修改就可以执行入库了.
具体方式为
rename 2021 2022 *
然后将目录放到lightning的配置文件里面, 执行导入就可以了.