TiDB 学习第 6 天:全量数据同步之 mydumper&loader 工具的使用

x33g5p2x  于2021-12-19 转载在 其他  
字(1.7k)|赞(0)|评价(0)|浏览(389)

一、全量同步Mysql数据

将mysql中的数据全量同步到TiDB中
**说明:**数据全量同步使用TiDB工具mydumper/loader,可以使用 mydumper 从 MySQL 导出数据,然后用 loader 将其导入到 TiDB 数据库中

为了快速的迁移数据 (特别是数据量巨大的库),可以参考以下建议:

  • mydumper 导出数据至少要拥有 SELECT,RELOAD,LOCK TABLES 权限
  • 使用 mydumper 导出来的数据文件尽可能的小,最好不要超过 64M,可以设置参数 -F 64
  • loader的 -t 参数可以根据 tikv 的实例个数以及负载进行评估调整,例如 3个 tikv 的场景,此值可以设为 3 *(1 ~ n);当 tikv 负载过高,loader 以及 tidb 日志中出现大量 backoffer.maxSleep 15000ms is exceeded 可以适当调小该值,当 tikv 负载不是太高的时候,可以适当调大该值。

二、下载TiDB工具集

# 下载 tool 压缩包
wget http://download.pingcap.org/tidb-enterprise-tools-latest-linux-amd64.tar.gz
wget http://download.pingcap.org/tidb-enterprise-tools-latest-linux-amd64.sha256

# 检查文件完整性,返回 ok 则正确
sha256sum -c tidb-enterprise-tools-latest-linux-amd64.sha256
# 解开压缩包
tar -xzf tidb-enterprise-tools-latest-linux-amd64.tar.gz
cd tidb-enterprise-tools-latest-linux-amd64

三、启动mydumper导出数据,这里需要指定相应参数

在新下载的解压包中进入到bin目录下启动mydumper工具,工具后面跟上相应的参数

例如:./bin/mydumper -h 127.0.0.1 -P 3306 -u root -t 16 -F 64 -B reports -T RMAN_USERGROUPHISTORY --skip-tz-utc -o ./var/test_data

参数解析:
连接需要导出数据的 mysql 数据库

-B test   需要导出的数据库名,表明对 test这个数据库进行导出数据操作
-T RMAN_USERGROUPHISTORY      表明导出数据的表
-t 16     导出数据使用的线程数
-F 64     实际的Table切分成多大的chunk,这里表明64MB 一个 chunk
--skip-tz-utc 添加这个参数忽略掉 MySQL 与导数据的机器之间时区设置不一致的情况,禁止自动转换。

四、将导出的数据用loader工具导入到TiDB中

./bin/loader -h 127.0.0.1 -u root -p '1234dfaf' -P 4000 -t 32 -d /var/test_data

参数解析:

-h 127.0.0.1    连接的主机名
 -u root         用户名
 -p '1234dfaf' 密码
 -P 4000      TiDB端口号
 -t 32         线程数
 -d /var/test_data      数据导出路径

加上路径后会在这个路径中生成sql执行脚本,使用以上语句信息就可以自动执行

注意:

  1. 数据导入过程中数据库和表都是自动创建的,tidb中已经存在的数据库不能和mysql中数据库同名,否则导入不成功
  2. 目前 TiDB 支持 UTF8mb4 字符编码,假设 mydumper 导出数据为 latin1 字符编码,需要修改字符编码为utf8
  3. 数据同步过程中sql_mode还要相同,否则两个数据库sql执行模型不同有的检测sql有的不检测,有的严格,有的不严格数据会导入导出不成功

总结

本文介绍数据全量从 Mysql 同步到 TiDB中,详细流程请参照官网:)

参考

https://pingcap.com/docs-cn/stable/reference/tools/mydumper/
https://pingcap.com/docs-cn/stable/reference/tools/loader/

相关文章