数据挂载
自 v3.3.7.0 起,TDengine 企业版提供数据挂载功能。可在宿主集群中通过 SQL 将源集群(如飞行器、车载/边缘设备、同机房或其他数据中心的集群、历史备份数据等)挂载到宿主集群,使宿主集群直接识别并访问源集群的数据库、表及数据。挂载后无需数据迁移即可查询;为防止源数据被篡改,当前仅支持只读挂载。
语法
创建挂载
CREATE MOUNT [IF NOT EXISTS] mountName ON DNODE dnodeId FROM TDenginePath;
说明
mountName:挂载名称,不能包含下划线_;挂载后的数据库名为mountName_<dbname>dnodeId:源集群数据目录所在宿主集群的dnode标识TDenginePath:源集群数据目录的绝对路径,需用英文单引号或双引号括起
使用限制
- 同一宿主集群中,
mountName不能重复 mountName不能与宿主集群中已有数据库重名mountName与TDenginePath一一对应- 目前仅支持在单个
dnode上挂载;若源集群使用多级存储,需手工调整local.json中非主挂载点路径(非多级存储无需调整) - 同一源集群同一时刻只能被一个宿主集群挂载
- 宿主集群不能挂载其自身的数据目录
- 源集群数据库唯一标识
dbid不能与宿主集群中现有dbid相同 - 宿主集群中已存在挂载数据库时,不允许创建新数据库(防止名称冲突)
- 挂载时:暂不支持源集群多副本、加密数据库,以及源集群无数据库的情况
- 宿主集群对挂载库:仅支持时序数据查询,不支持写入与元数据更新;不支持虚拟表时序数据查询,支持虚拟表元数据查询;不支持流式计算、订阅、视图等功能;不支持
COMPACT/TRIM/REDISTRIBUTE/SPLIT/RESTORE等管理操作 - 仅超级管理员拥有操作权限
示例
在宿主集群的 dnode 1 上,将源集群目录 /var/lib/taos_1 以 mount1 为名称挂载;挂载后可通过 mount1_<dbname> 访问源集群数据库:
CREATE MOUNT mount1 ON DNODE 1 FROM '/var/lib/taos_1';
查看挂载
SHOW MOUNTS;
示例
SHOW MOUNTS;
示例输出:
name | dnode | create_time | path |
==============================================================
mount1 | 1 | 2025-07-17 18:06:16.298 | /var/lib/taos_1 |
说明
name:挂载名称dnode:宿主集群中执行挂载的dnodecreate_time:挂载在宿主集群的创建时间path:源集群数据目录绝对路径- 仅拥有系统信息查看权限的用户可以查看
删除挂载
DROP MOUNT [IF EXISTS] mountName;
说明
- 清空宿主集群中与该挂载相关的元数据
- 恢复源集群数据目录的配置信息,解除宿主集群对源集群的访问关联
- 不会删除源集群的实际数据文件
- 仅超级管理员拥有操作权限
技术特点
快速数据访问
- 无需数据迁移,通过挂载将源集群数据接入宿主集群,直接在宿主集群内查询
- 保持宿主集群查询操作的便捷性
轻量级实现
- 通过元数据映射建立访问通道,源集群数据文件无需复制到宿主集群,仅在宿主集群记录挂载关联信息
实时查询
- 宿主集群直接访问源集群原始数据文件,避免数据迁移带来的延迟
安全保障
- 宿主集群对挂载数据只读,保护源集群原始数据不被篡改
- 挂载仅建立逻辑访问关系,配合只读限制与唯一性校验,保障数据安全与系统稳定
- 卸载后自动恢复源集群配置,原始数据完整性不受挂载操作影响
典型应用场景
适用于需频繁访问多个源集群数据、又不希望迁移数据的场景:
- 设备数据地面分析:源集群采集的数据无需导出迁移,挂载到分析集群后直接查询
- 跨集群数据比对:将多个业务集群挂载到统一分析集群,在分析集群内对比同源数据
- 历史数据查询:将离线历史数据集群挂载到在线业务集群,无需回迁即可查询
- 数据备份验证:将备份存储集群挂载到验证集群,直接校验备份数据完整性








