tidb 4.0 从mysql导入到tidb数据库

首先我们使用dumpling导出mysql中的数据,dumpling也是tidb自带的一个工具,将mysql的数据导出为数据文件。
然后再使用lightning将数据文件导入到Tidb数据库中。
dumpling和lightning都有和Tidb版本相对应的版本,下载工具包的时候要注意和当前安装的Tidb版本相对应。这些工具包官网都有下载。

但是我从官网下载的4.0的工具包中,竟然不包含dumpling还是用的mydumper,但是官方推荐使用dumpling了,结果在4.0.2的工具包中采找到(应该是在4.0.2版本才发布的)。

还有一点需要注意的是Tidb目前只支持UTF-8的编码格式,如果mysql中包含gb2312的需要提前转换成UTF-8,否则会导入失败。

工具包下载

wget https://download.pingcap.org/tidb-toolkit-v4.0.0-linux-amd64.tar.gz
wget https://download.pingcap.org/tidb-toolkit-v4.0.2-linux-amd64.tar.gz

备份所有库

./dumpling -u user -P 1000 -h
10.0.0.1 -p ****** --filetype sql --threads 32 -o /mnt/backup/

备份指定库

./dumpling -u user -P 1000 -h
10.0.0.1 -p ****** --filetype sql --threads 32 -o /mnt/backup/ -B check_db

启动tikv-importer

./tikv-importer -C tikv-importer.toml

启动tidb-lightning

./tidb-lightning -config tidb-lightning.toml

tikv-importer 配置

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

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

[metric]
# 给 Prometheus 客户端的推送任务名称。
job = "tikv-importer"
# 给 Prometheus 客户端的推送间隔。
interval = "15s"
# Prometheus Pushgateway 地址。
address = ""

[import]
# 存储引擎文档 (engine file) 的文件夹路径。
# 这个好像就是一个空文件夹,反正我安装完是没有这个目录,我自己新建了一个
import-dir = "/tidb/data.import/"

tidb-lightning 配置

# TiKV lightning配置文件模版
[lightning]
# 转换数据的并发数,默认为逻辑 CPU 数量,不需要配置。
# 混合部署的情况下可以配置为逻辑 CPU 的 75% 大小。
# region-concurrency =

# 日志
level = "info"
file = "tidb-lightning.log"

[tikv-importer]
# tikv-importer 的监听地址,需改成 tikv-importer 服务器的实际地址。
addr = "xxx.xxx.xxx.xxx:6287"

[mydumper]
# Mydumper 源数据目录。
data-source-dir = "/tidb/backup"

[tidb]
# 目标集群的信息。tidb-server 的监听地址,填一个即可。
host = "xxx.xxx.xxx.xxx"
port = xxx
user = "xxx"
password = "xxx"
# 表架构信息在从 TiDB 的“状态端口”获取。
status-port = 5121

配置完成后,分别启动import和lightning就可以实现数据库的导入了。

本菜在之前导入的时候还因为一直卡顿没有找到原因,到官方论坛,发贴才找到原因。官方的回复速度还是可以的,有啥问题可以问官方。

解决导入问题发的帖子:
https://asktug.com/t/topic/36012/7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值