mysql将数据全量导入到tidb,算是静态数据可以用mysqldump吗

需要mysql的某几个表的将数据全量导入到tidb,算是静态数据可以用mysqldump吗
打算用mysqldump 备份mysql某个表的数据导出为.sql 文件,然后导入到tidb里,
mysql -uxx -pxx -P4000<mysqldump导出的mysql.sql 文件
大家有试过这种方法吗,我试了应该是可以的

可以,都是标准的sql,但是速度不快,小库可以

我试过,可以的。很早期的时候这么搞。

谢谢兄台

多谢大佬

可以,导过一些

你可以用tidb的dumpling导出,这样兼容性更好
使用 Dumpling 导出数据 | TiDB 文档中心

导入的时候是逻辑执行sql,会不会性能太差了

可以用 mysqldump 将 MySQL 静态数据全量导入 TiDB,且这种方式是官方支持、社区常用的方案之一

小数据库才这么搞,大数据库不行。

可以的。但可以使用DM工具导

嗯,还是cdc工具好一些吧

可以,就是速度不快

TIDB支持mysql协议

是的,官方工具肯定是更好的。

可以用官方的dumpling工具,测试过,没问题

执行备份 (使用 tiup dumpling)

tiup dumpling
-h ${MYSQL_HOST}
–port ${MYSQL_PORT}
-u ${MYSQL_USER}
-p ${MYSQL_PASS}
-B 数据库名
-T 表1,表2,表3
–threads 5
–rows 200000
-F 256MiB
–output “${BACKUP_DIR}/${BACKUP_DB}_${BACKUP_TIMESTAMP}” >> $LOG_FILE 2>&1

执行恢复tiup tidb-lightning -config tidb-lightning.toml

vim tidb-lightning.toml
[lightning]
level = “info”
file = “tidb-lightning.log”

[tikv-importer]
backend = “local”
sorted-kv-dir = “/app/tmp/” – 磁盘大一点的路径

[mydumper]
data-source-dir = “备份文件路径”

[tidb]
host = “127.0.0.1”
port = 4000
user = “”
password = “”
status-port = 10080
pd-addr = “1.6.0.1:2379,1.6.0.2:2379,1.6.0.3:2379” – pd地址

1 个赞

dumpling的性能会更好吗

测试过个人感觉是哦。就像上面那位大兄弟说的,官方推荐的方式哦。

可以的。

嗯,其实一般都是慢在导入的场景上