TiDB Lightning 快速上手
本文档介绍如何快速上手 TiDB Lightning,将 MySQL 数据导入到 TiDB 集群中。
第 1 步:准备全量备份数据
你可以使用 Dumpling 从 MySQL 导出数据。
运行
tiup --version
检查是否已安装 TiUP。如果已经安装 TiUP,跳过这一步。如果没有安装 TiUP,运行以下命令:curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh使用 TiUP 安装 Dumpling:
tiup install dumpling从 MySQL 导出数据,详细步骤可参考使用 Dumpling 导出数据:
tiup dumpling -h 127.0.0.1 -P 3306 -u root -t 16 -F 256MB -B test -f 'test.t[12]' -o /data/my_database/其中:
-t 16
:使用 16 个线程导出数据。-F 256MB
:将每张表切分成多个文件,每个文件大小约为 256 MB。-B test
:从test
数据库导出。-f 'test.t[12]'
:只导出test.t1
和test.t2
这两个表。
导出的全量备份数据将保存在
/data/my_database
目录中。
第 2 步:部署 TiDB 集群
在开始导入数据之前,你需要先部署一个要进行导入的 TiDB 集群。如果你已经有 TiDB 集群,可以跳过这一步。
关于部署 TiDB 集群的步骤,请参考 TiDB 数据库快速上手指南。
第 3 步:安装 TiDB Lightning
运行如下命令,安装 TiDB Lightning 的最新版本:
tiup install tidb-lightning
第 4 步:启动 TiDB Lightning
创建配置文件
tidb-lightning.toml
,并根据你的集群信息填写如下配置:[lightning] # 日志 level = "info" file = "tidb-lightning.log" [tikv-importer] # 选择使用的导入模式 backend = "local" # 设置排序的键值对的临时存放地址,目标路径需要是一个空目录 sorted-kv-dir = "/mnt/ssd/sorted-kv-dir" [mydumper] # 源数据目录。 data-source-dir = "/data/my_datasource/" # 配置通配符规则,默认规则会过滤 mysql、sys、INFORMATION_SCHEMA、PERFORMANCE_SCHEMA、METRICS_SCHEMA、INSPECTION_SCHEMA 系统数据库下的所有表 # 若不配置该项,导入系统表时会出现“找不到 schema”的异常 filter = ['*.*', '!mysql.*', '!sys.*', '!INFORMATION_SCHEMA.*', '!PERFORMANCE_SCHEMA.*', '!METRICS_SCHEMA.*', '!INSPECTION_SCHEMA.*'] [tidb] # 目标集群的信息 host = "172.16.31.2" port = 4000 user = "root" password = "rootroot" # 表架构信息在从 TiDB 的“状态端口”获取。 status-port = 10080 # 集群 pd 的地址 pd-addr = "172.16.31.3:2379"运行
tidb-lightning
。为避免直接在命令行使用nohup
启动程序时因SIGHUP
信号导致的程序退出,建议将nohup
命令放入脚本中。示例如下:#!/bin/bash nohup tiup tidb-lightning -config tidb-lightning.toml > nohup.out &
第 5 步:检查数据
导入完毕后,TiDB Lightning 会自动退出。若导入成功,日志的最后一行会显示 tidb lightning exit
。
如果出错,请参见 TiDB Lightning 常见问题。
总结
本教程对 TiDB Lightning 进行了简单的介绍,并快速部署了一套简单的 TiDB Lightning 集群,将全量备份数据导入到 TiDB 集群中。
关于 TiDB Lightning 的详细功能和使用,参见 TiDB Lightning 简介。