TDengine数据迁移

前言

taosdump 是一个支持从运行中的 TDengine 集群备份数据并将备份的数据恢复到相同或另一个运行中的 TDengine 集群中的工具应用程序。

taosdump 可以用数据库、超级表或普通表作为逻辑数据单元进行备份,也可以对数据库、超级 表和普通表中指定时间段内的数据记录进行备份。使用时可以指定数据备份的目录路径,如果 不指定位置,taosdump 默认会将数据备份到当前目录。

如果指定的位置已经有数据文件,taosdump 会提示用户并立即退出,避免数据被覆盖。这意味着同一路径只能被用于一次备份。 如果看到相关提示,请小心操作。

一、taodump简介安装及使用

https://docs.taosdata.com/reference/taosdump/#简介

二、taoTools安装

安装包下载:https://docs.taosdata.com/releases/tools/

三、详细dump命令
复制代码
Usage: taosdump [OPTION...] dbname [tbname ...]
  or:  taosdump [OPTION...] --databases db1,db2,...
  or:  taosdump [OPTION...] --all-databases
  or:  taosdump [OPTION...] -i inpath
  or:  taosdump [OPTION...] -o outpath

  -h, --host=HOST            Server host dumping data from. Default is
                             localhost.
  -p, --password             User password to connect to server. Default is
                             taosdata.
  -P, --port=PORT            Port to connect
  -u, --user=USER            User name used to connect to server. Default is
                             root.
  -c, --config-dir=CONFIG_DIR   Configure directory. Default is /etc/taos
  -i, --inpath=INPATH        Input file path.
  -o, --outpath=OUTPATH      Output file path.
  -r, --resultFile=RESULTFILE   DumpOut/In Result file path and name.
  -a, --allow-sys            Allow to dump system database
  -A, --all-databases        Dump all databases.
  -D, --databases=DATABASES  Dump inputted databases. Use comma to separate
                             databases' name.
  -e, --escape-character     Use escaped character for database name
  -N, --without-property     Dump database without its properties.
  -s, --schemaonly           Only dump tables' schema.
  -d, --avro-codec=snappy    Choose an avro codec among null, deflate, snappy,
                             and lzma.
  -S, --start-time=START_TIME   Start time to dump. Either epoch or
                             ISO8601/RFC3339 format is acceptable. ISO8601
                             format example: 2017-10-01T00:00:00.000+0800 or
                             2017-10-0100:00:00:000+0800 or '2017-10-01
                             00:00:00.000+0800'
  -E, --end-time=END_TIME    End time to dump. Either epoch or ISO8601/RFC3339
                             format is acceptable. ISO8601 format example:
                             2017-10-01T00:00:00.000+0800 or
                             2017-10-0100:00:00.000+0800 or '2017-10-01
                             00:00:00.000+0800'
  -B, --data-batch=DATA_BATCH   Number of data per query/insert statement when
                             backup/restore. Default value is 16384. If you see
                             'error actual dump .. batch ..' when backup or if
                             you see 'WAL size exceeds limit' error when
                             restore, please adjust the value to a smaller one
                             and try. The workable value is related to the
                             length of the row and type of table schema.
  -I, --inspect              inspect avro file content and print on screen
  -L, --loose-mode           Using loose mode if the table name and column name
                             use letter and number only. Default is NOT.
  -n, --no-escape            No escape char '`'. Default is using it.
  -Q, --dot-replace          Repalce dot character with underline character in
                             the table name.(Version 2.5.3)
  -T, --thread-num=THREAD_NUM   Number of thread for dump in file. Default is
                             8.
  -C, --cloud=CLOUD_DSN      specify a DSN to access TDengine cloud service
  -R, --restful              Use RESTful interface to connect TDengine
  -t, --timeout=SECONDS      The timeout seconds for websocket to interact.
  -g, --debug                Print debug info.
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version
  -W, --rename=RENAME-LIST   Rename database name with new name during
                             importing data. RENAME-LIST: 
                             "db1=newDB1|db2=newDB2" means rename db1 to newDB1
                             and rename db2 to newDB2 (Version 2.5.4)

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

Report bugs to <support@taosdata.com>.

dev环境TDengie数据按照时间导出

复制代码
--查询TDengie中当前时间范围内的数据
select count(*) from 超级表 where time >='2024-01-01T00:00:00.000+0800' and time <= '2024-06-30T23:59:59.000+0800';
本次导出数量:3378
总数量:7383

--查询TDengine当前时间范围内的数据
select count(*) from 超级表 where time >='2024-01-01T00:00:00.000+0800' and time <= '2024-06-30T23:59:59.000+0800';
本次导出数量:3701
总数量:3944


当前时间范围内数据导出
taosdump -D 数据库名 -o /home/taosdata -S 2024-01-01T00:00:00.000+0800 -E 2024-06-30T23:59:59.000+0800

恢复当前导出的数据到另外一台TDengine(测试时使用的是我本地的虚拟机中安装的TDengine)
taosdump -u root -p 123456 -i /home/taosdata

dev环境TDengie数据增量导出

复制代码
--TDengine中剩余数据:4005
select count(*) from 超级表 where time >= '2023-01-01T00:00:00.000+0800' and time < '2024-01-01T00:00:00.000+0800';

--TDengine中剩余数据:243
select count(*) from 超级表 where time >= '2023-01-01T00:00:00.000+0800' and time < '2024-01-01T00:00:00.000+0800';

--当前时间范围内的数据量
taosdump -D 数据库 -o /home/taosdata -S 2023-01-01T00:00:00.000+0800 -E 2024-01-01T00:00:00.000+0800

恢复当前导出的数据到另外一台TDengine(测试时使用的是我本地的虚拟机中安装的TDengine)
taosdump -u root -p 123456 -i /home/taosdata

四、TDengine 数据迁移完之后对比
迁移完成后,可以通过查询超级表中的数据的总数量来验证。

复制代码
select count(*) from stb_charging_working_data;
select count(*) from stb_cp_chargingparameter_rpt_data;
相关推荐
宗介波妞1 分钟前
主站与场站多业务链路通断测试实战指南(电力自动化联调)
网络·数据库
2503_931712483 分钟前
具身机器人和人形机器人的区别是什么?两者是否有什么关系
大数据
长谷深风1118 分钟前
Checkpoint设计的三大生死关
大数据·人工智能·ai·大模型·ai智能体·tool·aiagent
邪修king11 分钟前
MySQL数据库(二):操作详解:从创建、查看到备份恢复
数据库·mysql
tryxr12 分钟前
Chat2Excel 项目用户服务开发
java·数据库·java项目·用户服务开发
BYSJMG15 分钟前
计算机毕业设计选题推荐:基于大数据的水质多指标关联分析与可视化的设计与实现,Spark 加 K-Means 做水质分群
大数据·hadoop·信息可视化·数据分析·spark·kmeans·课程设计
kiss strong23 分钟前
redis服务器登录(内网环境,无法使用客户端)
数据库·redis·缓存
志栋智能30 分钟前
运维超自动化中的配置管理实践
运维·网络·数据库·自动化
龙亘川31 分钟前
数字化建设案例|构建议案履职一体化闭环,解决议案建议办理多主体协同难题
大数据·人工智能·科技·信息可视化·智慧城市
邪修king40 分钟前
MySQL 数据库(三):表级操作实战:增删查改全实例演示 + 企业实操红线规范
android·数据库·mysql