tidb-使用tidblightning迁移mysql数据至tidb中(代码片段)

小毕超 小毕超     2023-02-05     765

关键词:

一、TiDB Lightning介绍

TiDB Lightning 是一个将全量数据高速导入到 TiDB 集群的工具,目前支持 Mydumper 或 CSV 输出格式的数据源。你可以在以下两种场景下使用 Lightning:
迅速导入大量新数据。
备份恢复所有数据。
TiDB Lightning 主要包含两个部分:

  1. tidb-lightning(“前端”):主要完成适配工作,通过读取数据源,在下游 TiDB 集群建表、将数据转换成键/值对 (KV 对) 发送到 tikv-importer、检查数据完整性等。
  2. tikv-importer(“后端”):主要完成将数据导入 TiKV 集群的工作,把 tidb-lightning 写入的 KV 对缓存、排序、切分并导入到 TiKV 集群。

二、导入的流程

三、开始迁移

  1. 下载 idb-enterprise-tools 工具
wget https://download.pingcap.org/tidb-enterprise-tools-latest-linux-amd64.tar.gz
  1. 下载tidb-toolkit
wget https://download.pingcap.org/tidb-toolkit-latest-linux-amd64.tar.gz
  1. 将mysql 中的数据导出
./mydumper -h 127.0.0.1 -P 3306 -u root -p Root@1234 -t 16 -F 256 -B mytest -T t1,t2 --skip-tz-utc -o /data/my_database/
  1. 编写 tikv-importer.toml 文件
# TiKV Importer 配置文件模版

# 日志文件。
log-file = "tikv-importer.log"
# 日志等级:trace、debug、info、warn、error、off。
log-level = "info"

[server]
# tikv-importer 监听的地址,tidb-lightning 需要连到这个地址进行数据写入。
addr = "127.0.01:8287"

[import]
# 存储引擎文档 (engine file) 的文件夹路径。
import-dir = "/mnt/ssd/data.import/"
  1. 启动 tikv-importer
nohup ./tikv-importer -C tikv-importer.toml > nohup.out &
  1. 启动tidb-lightning
nohup ./tidb-lightning \\
            --importer 127.0.0.1:8287 \\
            -d /data/my_database/ \\
            --pd-urls 0.0.0.0:2379 \\
            --tidb-host 192.168.1.101 \\
            --tidb-user root \\
            --log-file tidb-lightning.log \\
        > nohup.out &

未完待补充完整。

tidb入门+深入(代码片段)

...发及测试环境生产环境5、TiDB-读取历史数据6、数据迁移-TiDBLightning一、概述数据库(DataBase)是按照数据结构来组织、存储和管理数据的仓库。我们的程序都是在内存中运行的,一旦程序运行结束或者计算机断电,... 查看详情

python迁移mysql到tidb

参考技术ATiKV需要运行在SSD盘上,机械盘是难以支撑起TiKV这种IO负载密集的应用的。另外需要注意服务器的IOscheduler是否被设定为noop/none,对于SSD和NVME设备来说简单的noop和none往往工作的更好。在不合理的IO调度器设置下当RocksDB... 查看详情

tidb在平安科技丨从oracle迁移到ubisql的实践

作者介绍熊浪,平安科技资深数据库架构师,在关系型和非关系型分布式数据库技术领域具有丰富的经验,担任平安集团去O分布式项目经理,负责分布式数据库选型和架构设计工作。平安科技是平安集团旗下科技解决方案专家... 查看详情

dm分库分表ddl“悲观协调”模式介绍丨tidb工具分享

...表方案切换到TiDB的过程中,这个复杂度转移到了数据迁移流程里。TiDBDM工具为用户提供了分库分表合并迁移功能,在数据迁移的过程中,支持将分表DML事件合并迁移,并一定程度支持上游分表进行DDL变更。本文以... 查看详情

通过tidboperator升级tidb集群

...级TiDB集群的版本,来减少对业务的影响。本文介绍如何使用滚动更新来升级Kubernetes上的TiDB集群。滚动更新功能介绍Kubernetes提供了​​滚动更新功能​​,在不影响应用可用性的前提下执行更新。使用滚动更新时,TiDBOperator会... 查看详情

从 HSQL 迁移到 OrientDB

...用程序的建议。【问题讨论】:【参考方案1】:您应该使用Teleporter,因为Teleporter与多个具有JDBC驱动程序的RDBMS完全兼容:Oracle、SQLServer、MyS 查看详情

tidb在大数据架构下的应用

...知乎的大数据架构,那时我们将HiveMetaStore的元数据库迁移到了TiDB,得到了超过单机数据库一个量级的性能提升。在见识过分布式NewSQL数据库TiDB的威力后,我们对TiDB寄予厚望,将TiDB应用到了大数据架构的其他场... 查看详情

dumpling导出表内并发优化丨tidb工具分享

...份/导入导出,TiDB数据变更捕获,其他数据库数据迁移至TiDB等前言Dumpling是由Go语言编写的用于对数据库进行数据导出的工具。目前支 查看详情

数据迁移

useraddwwwecho"123456"|passwd--stdinwwwuseraddmysqlecho“123456”|passwd--stdinmysql  yuminstall-yvsftpdhttpdphpphp-mysqlmariadb-servervim/etc/httpd/conf/httpd.confServerName172.16.19.220:80(这 查看详情

猿创征文|国产数据库实战之使用docker部署tidb集群(代码片段)

猿创征文|国产数据库实战之使用Docker部署TiDB集群一、TiDB介绍1.TiDB简介2.TiDB特性3.TiDB集群整体架构4.TiDB集群各部分介绍5.本次TiDB集群组件二、检查本地环境1.检查docker状态2.检查docker版本3.检查docker-compose版本三、下载tidb-docker-comp... 查看详情

猿创征文|国产数据库实战之使用docker部署tidb集群(代码片段)

猿创征文|国产数据库实战之使用Docker部署TiDB集群一、TiDB介绍1.TiDB简介2.TiDB特性3.TiDB集群整体架构4.TiDB集群各部分介绍5.本次TiDB集群组件二、检查本地环境1.检查docker状态2.检查docker版本3.检查docker-compose版本三、下载tidb-docker-comp... 查看详情

猿创征文|国产数据库实战之使用docker部署tidb集群(代码片段)

猿创征文|国产数据库实战之使用Docker部署TiDB集群一、TiDB介绍1.TiDB简介2.TiDB特性3.TiDB集群整体架构4.TiDB集群各部分介绍5.本次TiDB集群组件二、检查本地环境1.检查docker状态2.检查docker版本3.检查docker-compose版本三、下载tidb-docker-comp... 查看详情

tidb整体架构及主要特性

...KV节点);二是对TiKV集群进行调度和负载均衡(如数据的迁移、Raftgroupleader的迁移等);三是分配全局唯一且递增的事务ID。PD通过Raft协议保证数据的安全性。Raft的leaderserver负责处理所有操作,其余的PDserver仅用于保证高可用。... 查看详情

当大数据架构遇上tidb(代码片段)

...构与TiDB首次相遇,那时我们将HiveMetaStore的元数据库迁移到了TiDB,得到了超过单机数据库一个量级的性能提升。在见识过分布式NewS 查看详情

带着问题读tidb源码:hive元数据使用tidb启动报错

...跃的许多伙伴还需要更简单,并且同自己每天工作中使用TiDB时遇到的问题更相关的源码阅读文章。本文是《带着问题读源码系列》的第一次尝试,在定位并解决用户所遇到的一个简单问题的过程中,对相关的代码一... 查看详情

使用dockercompose安装tidb(代码片段)

参考文章:https://blog.csdn.net/weixin_33729196/article/details/86018480目标单机上通过DockerCompose快速一键部署一套TiDB测试集群前提条件1.centos版本在7.3以上,内存大于6G2.安装git3.安装docker4.安装docker-compose开始安装1.下载tidb-docker-c 查看详情

TiDB 索引没有被用于查询

...ueries【发布时间】:2021-07-0908:27:52【问题描述】:我正在使用mysql连接器连接TiDB。我发现我的查询中没有使用索引。经过我的分析,我发现由于没有使用铸造索引。例如CREATETABLEEmployee(IDBIGINTNOTNULLAUTO_INCREMENTPRIMARYKEY,EmpIDVARCHA 查看详情

tidb-使用tiup在线搭建tidb集群(代码片段)

...建以及如何在docker中搭建环境,前面就讲到官方建议使用TiUP来搭建管理整个集群环境,下面我们来体验下。TiUP是TiDB4.0版本引入的集群运维工具,TiUPcluster是TiUP提供的使用Golang编写的集群管理组件,通过TiUPcluster... 查看详情