others linux服务器运维 django3 监控 k8s golang 数据库 大数据 前端 devops 理论基础 java oracle 运维日志

dumpling 导出 mysql \lightning 导入 tidb

访问量:1282 创建时间:2021-09-01

本文主要实验 zabbix 的 mysql 数据库 导入 tidb

dumpling是一个全量备份导出mysql数据库的工具,使用tidb-lightning 全量导入数据到tidb后,增量数据可以用TiDB Data Migration 进行增量同步(类似mysql主从)

TIDB dumpling 导出 mysql

dumpling 下载

[root@localhost ~]# wget https://download.pingcap.org/tidb-toolkit-v4.0.14-linux-amd64.tar.gz
[root@localhost ~]# tar xf tidb-toolkit-v4.0.14-linux-amd64.tar.gz 
[root@localhost ~]# mv tidb-toolkit-v4.0.14-linux-amd64 toolkit
[root@localhost ~]# cd !$
cd toolkit
[root@localhost toolkit]# ls bin/
br        mydumper      sync_diff_inspector  tidb-lightning-ctl
dumpling  pd-tso-bench  tidb-lightning       tikv-importer

[root@localhost toolkit]# ./bin/dumpling -h 10.0.0.181 -P 3306 -u zabbix -t 16 -F 256MB -B zabbix -o /data/mysqlbak2/ -p password12323

TIDB lightning 导入 tidb

安装 lightning

[tidb@localhost ~]$ tiup install tidb-lightning:v4.0.14

使用 lightning 导入 tidb

##编写导入配置文件
[tidb@localhost ~]$ cat tidb-lightning.toml
[lightning]
# 日志
level = "info"
file = "tidb-lightning.log"

[tikv-importer]
# 选择使用的 local 后端
backend = "local"
# 设置排序的键值对的临时存放地址,目标路径需要是一个空目录
sorted-kv-dir = "/data/sorted-kv-dir"

[mydumper]
# 源数据目录。
data-source-dir = "/data/mysqlbak2/"

# 配置通配符规则,默认规则会过滤 mysql、sys、INFORMATION_SCHEMA、PERFORMANCE_SCHEMA、METRICS_SCHEMA、INSPECTION_SCHEMA 系统数据库下的所有表
# 若不配置该项,导入系统表时会出现“找不到 schema”的异常
filter = ['*.*', '!mysql.*', '!sys.*', '!INFORMATION_SCHEMA.*', '!PERFORMANCE_SCHEMA.*', '!METRICS_SCHEMA.*', '!INSPECTION_SCHEMA.*']
[tidb]
# 目标集群的信息
host = "192.168.0.207"
port = 4643
user = "root"
password = "tidb@password"
# 表架构信息在从 TiDB 的“状态端口”获取。
status-port = 14583
# 集群 pd 的地址
pd-addr = "192.168.0.207:14279"

#[post-restore]
#checksum = true

##开始导入
[tidb@localhost ~]$ nohup tiup tidb-lightning -config tidb-lightning.toml > nohup.out &
#查看日志
[tidb@localhost ~]$ tail -f tidb-lightning.log 

使用tidb-lightning 全量导入数据到tidb后,增量数据可以用TiDB Data Migration 进行增量同步(类似mysql主从)

二次导入故障处理(重复多次导入需要清除检查点):

##报错信息
[2021/09/06 13:15:20.357 +08:00] [ERROR] [main.go:91] ["tidb lightning encountered error"] [error="TiDB Lightning has detected tables with illegal checkpoints; please remove these checkpoints first"]
###处理方法(tidb-lightning-ctl需要下载工具包,我没在tiup里面找到)
wget https://download.pingcap.org/tidb-toolkit-v4.0.14-linux-amd64.tar.gz
[tidb@localhost bin]$ ./tidb-lightning-ctl  -config tidb-lightning.toml --checkpoint-remove=all
登陆评论: 使用GITHUB登陆