【TiDB 4.0 PCTA 学习笔记】- 3.6.2 Data migration from MySQL(如何将数据从 MySQL 迁移到 TiDB)@1班:魔幻之翼

课程名称:课程版本(301)+ 3.6.2 Data migration from MySQL(如何将数据从 MySQL 迁移到 TiDB)

学习时长:

7分钟

课程收获:

掌握数据迁移的具体操作和流程要求
通过Dumpling 导出mysql 的相关数据,然后使用 lightning 将相关的数据导入到 tidb

课程内容:

导入模式

  • tikv - import 模式
    • 数据导入过程中,不能对外提供服务,效率更高
  • tidb - backend 模式
    • 数据导入过程中,可以对外提供服务,效率较低

dumpling 需要有操作库相关的授权,例如

  • select
  • reload
  • lock tables
  • replication client

给root 用户进行授权

grant select,reload,lock tables,replication client on . to ‘root’@’%’;

flush privilieges;

如果导入的tidb 的版本小于 4.0,则需要手动的修改GC 的时间,如果大于4.0 则符合 自动调整GC 的规则

具体操作参考

update mysql.tidb set variable_value=‘10m’ where variable_name = ‘tikv_gc_life_time’;

注意事项

导入的数据量较大的时候,需要调整较大的Gc 时间,否则,无法完成导入,可能就被GC了

dumpling 参数说明

    1. -B 指定导出数据库
    1. -T 指定导出表
    1. -o 指定数据存储目录
    1. -F 指定单个文件最大的大小,默认单位是 MB
    1. -r 指定当个文件的最大记录数(行数)
    1. –filter 指定表过滤进行筛选
    1. –where 指定备份范围内的条件

命令行操作

nohup ./tidb-lightning - config tidb-lightning.toml > nohup.out &

最好使用脚本的方式启动

查看导入进程的导入状态

  • 通过grep log 查阅 progress 关键字
  • 通过 lightning monitor 查阅进度

学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料