TDengine 备份与恢复
以下操作均使用在CentOS7、 TDengine 2.4.0.7 下进行。
实验环境如下:
##服务端:ms06.dyq.com
##用户名:root
##密码:taosdata
##数据库名称:db01
##超级表名称:stb1
##普通表名称:tb1
##TDengine 版本:2.4.0.7
##环境创建:
CREATE DATABASE db01;
CREATE STABLE db01.stb1 (ts TIMESTAMP, v1 INT) TAGS(t1 INT);
CREATE TABLE db01.tb1 USING stb1 TAGS(1);
##插入1000条数据
for i in {1..1000}
do
taos -s "INSERT INTO db01.tb1 VALUES(NOW,$i);"
done
1.taosdump 介绍
TDengine 通过 taosTools 工具包中的 taosdump 工具实现数据的备份与恢复功能。
常用参数说明
-h 要连接的 TDengine 所在节点
-u 用户名
-p 密码
-o 备份输出路径
-i 导入数据路径
-B 导入数据库时,单条件语句包含记录数
-T 导出、导入时进程数
注意:
taosdump备份会生成一系列文件,包括数据库、超级表、表的元数据信息和实际数据。因此备份时建议实现创建好目录作为区分。
例:如果将表tb1 和tb2 备份到同一个目录下,那么导入时是无法进行区分的。
详细信息 taosdump --help
2.数据库备份
2.1. 备份数据库
创建备份目标目录
mkdir -p /tmp/dump/db01
备份数据库
taosdump -h ms06.dyq.com -u root -ptaosdata -o /tmp/dump/db01 -T 8 -D db01
-h ms06.dyq.com 集群节点
-u root -ptaosdata 用户名、密码
-o /tmp/dump/db01 输出文件目录
-T 8 并发8个进程
-D db01 备份db01数据库
2.2.备份超级表/普通表
超级表和普通表的备份方式基本相同。
创建备份目标目录
mkdir -p /tmp/dump/stb1
mkdir -p /tmp/dump/tb1
##导出超级表stb1
taosdump -h ms06.dyq.com -u root -ptaosdata -o /tmp/dump/stb1 -T 8 db01 stb1
##导出普通表tb1
taosdump -h ms06.dyq.com -u root -ptaosdata -o /tmp/dump/tb1 -T 8 db01 tb1
3.数据恢复
3.1.恢复数据库
taosdump -h ms06.dyq.com -u root -ptaosdata -i /tmp/dump/db01 -T 8
3.2.恢复超级表/普通表
超级表和普通表的恢复方式基本相同。
##导入超级表
taosdump -h ms06.dyq.com -u root -ptaosdata -i /tmp/dump/stb1 -T 8
##导入普通表
taosdump -h ms06.dyq.com -u root -ptaosdata -i /tmp/dump/tb1 -T 8