iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
Software Development

TiDB學習筆記系列 第 14

D14 - 轉移資料到TiDB工具介紹(一)

在安裝完TiDB之後,想先從現有的MySQL資料庫倒一張表的資料來試試。
TiDB提供兩種的資料導出工具Dumpling+Lightning與DM。
當原始資料表大於1T,要用前者做資料轉移。如果資料小於1T,可以用DM這個工具來完成全量以及增量備份。

Dumpling,使用go開發的程式,可以把資料導出成SQL或者CSV。
首先透過tiup安裝dumpling
tiup install dumpling
接著在來源MySQL資料庫建立一個帳號
create user 'tidb_rep'@'tiup的機器網段' IDENTIFIED BY '密碼自己想';
給這個帳號以下權限
GRANT SELECT, RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'tidb_rep'@'ip'
假設我今天要搬移的是test.tidb_test這張表,存有兩筆資料。
https://ithelp.ithome.com.tw/upload/images/20210909/20113220SyohNR1N0i.png
接著到tiup這台機器找到dumpling的位置,我的安裝路徑為/root/.tiup/components/dumpling/v5.2.0
然後把參數帶進去,這邊我只簡單的操作一下,有其他需要可以--help看一下指令說明。
./dumpling -u"tidb_rep" -P3306 -p"我是密碼" -h"MySQL機器IP" -B"test" -T "test.tidb_test"
執行完畢後,會產生一個時間戳記的資料夾,包含四個檔案,分別紀錄操作的起始結束時間以及master binlog的位置,建立資料庫的語法,建立表的語法,最後是資料寫入的語法。
https://ithelp.ithome.com.tw/upload/images/20210909/20113220T5fRlVrMNC.png


接著用lightning導入
首先下載安裝lighting,下載目前最新版的5.2.0解壓縮。主要需要資料夾內的tidb-lightning。
https://download.pingcap.org/tidb-toolkit-v5.2.0-linux-amd64.tar.gz
tar zxvf tidb-toolkit-v5.2.0-linux-amd64.tar.gz

接著配置 tidb-lightning.toml,範本可在官網上找到。我們先為sorted-kv-dir新增資料夾,另外把data-source-dir改成上面dumpling產出的資料夾位置,以及tidb&pd的ip改成自己的。

[lightning]

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

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

[tikv-importer]
# backend 设置为 local 模式
backend = "local"
# 设置本地临时存储路径
sorted-kv-dir = "/var/lib/tmp-dir"

[mydumper]
# 源数据目录。
data-source-dir = "/root/.tiup/components/dumpling/v5.2.0/export-2021-09-09T07:55:05Z"

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

然後輸入以下指令執行

./tidb-toolkit-v5.2.0-linux-amd64/bin/tidb-lightning -config tidb-lightning.toml

檢查結果 錯誤!! 不允許來源檔和執行的暫存檔位置相同...
https://ithelp.ithome.com.tw/upload/images/20210909/20113220YopM7gfx22.png
可以依照他的檢查結果做修改,或者偷吃步直接skip。
./tidb-toolkit-v5.2.0-linux-amd64/bin/tidb-lightning -config tidb-lightning.toml --check-requirements=false
完成匯入之後到tidb看看有沒有正常建立,結果成功!
https://ithelp.ithome.com.tw/upload/images/20210909/20113220pl7KYewtob.png


上一篇
Day 13 - 安裝(三)副本調度設定
下一篇
D15 - 轉移資料到TiDB工具介紹(二)
系列文
TiDB學習筆記30

尚未有邦友留言

立即登入留言