从 SQL 文件迁移数据到 TiDB
将所有 SQL 文件放到统一目录下,例如 或 s3://my-bucket/sql-backup?region=us-west-2
。Lightning 将递归地寻找该目录下及其子目录内的所有 .sql
文件。
要导入 TiDB,就必须为 SQL 文件提供表结构。
如果使用 Dumpling 工具导出数据,则会自动导出表结构文件。此外,其他方式导出的数据可以通过以下任一方法创建表结构:
方法一:使用 TiDB Lightning 创建表结构。
- 文件名格式为
${db_name}-schema-create.sql
,其内容需包含CREATE DATABASE
语句。 - 文件名格式为
${db_name}.${table_name}-schema.sql
,其内容需包含 语句。
- 文件名格式为
方法二:手动在下游 TiDB 建库和表。
新建文件 tidb-lightning.toml
,包含以下内容:
关于配置文件更多信息,可参阅 。
运行 tidb-lightning
。如果直接在命令行中启动程序,可能会因为 SIGHUP
信号而退出,建议配合 nohup
或 screen
等工具。
export AWS_SECRET_ACCESS_KEY=${secret_key}
nohup tiup tidb-lightning -config tidb-lightning.toml > nohup.out 2>&1 &
同时,TiDB Lightning 还支持从 ~/.aws/credentials
读取凭证文件。
导入开始后,可以采用以下任意方式查看进度:
- 通过
grep
日志关键字progress
查看进度,默认 5 分钟更新一次。 - 通过监控面板查看进度,请参考 。
- 通过 Web 页面查看进度,请参考 Web 界面。
导入完毕后,TiDB Lightning 会自动退出。查看日志的最后 5 行中会有 ,则表示导入成功。
如果导入过程中遇到问题,请参见 。