【TDengine】 TDengine时序数据库的快速入门总结 TDengine教程总结

本文记录一些有效文档地址,其中很多不乏是官方文档的地址。
主要目的是快速定位,节省找文档的时间, 避免找到参差不齐的资料。

时序数据库选型:

TDengine (当前版本3.0.1.7 已知restful连接下时间出现时区问题bug 官方说后续版本会修复)

理由1: 国产开源,开发文档较友好 节约开发成本
文档:https://docs.taosdata.com/intro/

理由2: 性能效率高
TDengine和influxDB对比:
https://blog.csdn.net/taos_data/article/details/118996793

理由3: 官方文档提供运维指南,降低运维成本
https://docs.taosdata.com/operation/

其它对比:
从 InfluxDB 到 TDengine,我们为什么会做出这个选择:
https://www.taosdata.com/user-cases/6394.html

建库建表快速入门语句:

taos 
(进入数据库)

create database db_test keep 36500;  
(建表保留时间 默认单位d)

show databases; (查看数据库是否建成功 极简信息)

create stable db_test.water_device  (collect_time timestamp ,current_time timestamp, number float) tags (device_id int,group_id int,location float);  
(建表语句)

Show stable; 
(查看 超级表是否建成功 极简信息)



create table  db_test.water_device_001    using db_test.water_device  (device_id) TAGS (111);
(建子表语句,和insert into values类似,如果不指定字段,那就是将tags的值补齐 例如: 
create table  db_test.water_device_001    using db_test.water_device   TAGS (111,001,33.3);
)
(注意:指定字段时 tag_name 也就是示例语句中的 device_id 不能加引号  ,因为官方文档写的比较坑 name给人一种误导,
要是写成tag column就没有歧义了
create table  db_test.water_device_001    using db_test.water_device  ('device_id') TAGS (111);
这是个错误的语句 )


 use information_schema;
  (使用系统信息表)
  
Select * from ins_databases;
 (查看数据库详情)
 
Select * from ins_stables; 
(查看超级表详情)


DESCRIBE db_test.water_device; 
(获取超级表的表结构信息)

SHOW TABLE TAGS FROM water_device;
 (查看超级表中所有子表名及tag信息)

建表原则

建表原则官方文档也有提到,但可能比较绕口,这里我用通俗的语言描述一下:

具体的每一个设备为一张子表,同一种设备为一张超级表。

我的这段话也得到了官方人员的回答 表示理解无误,
官方人员并补充到 TDengine 支持十亿张表都没问题,TDengine 不是 MySQL

TDengine资料文档整理:

安装教程

  1. 系统要求
    在开始安装TDengine之前,需要确保服务器满足以下要求:
    Linux操作系统,64位CPU架构。
    至少4GB的内存空间,至少10GB的磁盘空间。

  2. 下载TDengine
    下载地址:https://docs.taosdata.com/get-started/package/

    注:上图下载安装包时, TDengine厂商会要求填写邮箱,通过邮箱发送给我们真实的下载地址 真实地址为(3.0.1.7版本为例 如果是其它版本 修改url即可) :
    https://www.taosdata.com/assets-download/3.0/TDengine-server-3.0.1.7-Linux-x64.tar.gz
    不排除未来会变更地址

  3. 安装TDengine
    可以在linux中 先直接通过wget + url的方式尝试,如果url失效行再从windows 下载安装包,并通过sftp软件传输至linux
    linux下载命令: wget 加上述url即可,等待下载完成

 wget https://www.taosdata.com/assets-download/3.0/TDengine-server-3.0.1.7-Linux-x64.tar.gz
  1. 解压安装包:
 tar -zxvf TDengine-server-3.0.1.7-Linux-x64.tar.gz 

(以当前所在目录为/app 举例,安装包解压目录为 /app/TDengine-server-3.0.1.7/)

  1. 进入安装目录:
cd TDengine-server-3.0.1.7/
  1. 安装:
./install.sh 

遇到提示Enter FQDN:port 直接按回车跳过 (单机部署)

提示留下邮箱 再次按回车跳过

  1. 配置:
vim /etc/taos/taos.cfg

以下主要可能需要配置的部分:

# 日志路径
logDir          /home/TDengine/log

# 数据库的时区
timezone  UTC+8
  1. 启动命令:
    服务默认端口:6030
systemctl start taosd

restful默认端口:6041 (restful方式需要额外启动)

systemctl start taosadapter 
  1. 设置账号密码:

官方文档: https://docs.taosdata.com/taos-sql/grant/

进入数据库:

taos
注:使用taos命令时 可能会出现fqdn的错误 这其实是linux本身配置问题
首先使用 hostname 命令,检查是否正确 如果该命令返回错误的主机名,请使用以下命令修改主机名:
sudo hostnamectl set-hostname <new_hostname>
其中,<new_hostname>是您希望设置的新主机名。
大多数情况下,我们服务器都是已经配置过的 使用hostname是不会报错的, 并且会返回名称
可以使用以下命令打开/etc/hosts文件:
sudo vi /etc/hosts
例如 使用hostname命令 返回的是 bogon, 那么在 127.0.0.1 对应的映射结尾 添加 bogon即可
 
(也可参考官网的FAQ: https://docs.taosdata.com/train-faq/faq/)

创建账号密码:

 taos> create user bzkj_user pass 'bzkjpass' sysinfo 1;

SYSINFO 表示用户是否可以查看系统信息。1 表示可以查看,0 表示不可以查看。系统信息包括服务端配置信息、服务端各种节点信息(如 DNODE、QNODE等)、存储相关的信息等。默认为可以查看系统信息。

查看用户

SHOW USERS;  

删除用户

DROP USER user_name;

修改账号密码:
td默认的账号是root 密码为 taosdata
我们可以使用如下命令修改:

 alter USER root PASS ‘yourPassword’

启动命令:

systemctl start taosd
Systemctl start taosAdapter (restful方式需要额外启动该服务)

配置:

https://docs.taosdata.com/reference/config/

数据库账号密码:

https://docs.taosdata.com/taos-sql/grant/

GUI工具:

https://github.com/arielyang/TDengineGUI/releases/tag/1.0.3
注意GUI 1.0.0版本是不支持TDengine3+ 的,我们使用较新的1.0.3

IDEA GUI教程:

https://www.taosdata.com/engineering/12428.html
注:目前的GUI都不好用,更多的需要配合命令一起使用,

Restful连接方式端口默认为6041,原生默认为6030 需要下载客户端client 版本要与数据库版本保持一致,且两种方式的Driver class不一样

MYSQL er快速入门:

https://www.taosdata.com/engineering/14774.html

JDBC jar包:

https://github.com/taosdata/taos-connector-jdbc
下载项目后,maven打包

与springboot整合demo:

https://github.com/taosdata/TDengine/tree/main/examples/JDBC/springbootdemo

与mybatis plus整合demo:

https://github.com/taosdata/TDengine/tree/main/examples/JDBC/mybatisplus-demo

个人已编写的demo(含sql建表语句):

https://gitee.com/qiuhuanhen/tdengine-demo

数据迁移

例如我们需要将master服务器的TD数据, 迁移至slave服务器

备份数据(master服务器):
首先需要下载taosTool工具, 使用 taosdump命令
下载地址:
https://www.taosdata.com/assets-download/3.0/taosTools-2.4.10-Linux-x64-comp3.tar.gz

下载命令:

wget https://www.taosdata.com/assets-download/3.0/taosTools-2.4.10-Linux-x64-comp3.tar.gz

解压命令:

tar -zxvf taosTools-2.4.10-Linux-x64-comp3.tar.gz 
cd taosTools-2.4.10/bin

创建一个文件夹
(以下载时 位于/app 路径为例,完整目录此时为 /app/taosTools-2.4.10/bin/backup)

mkdir backup

备份命令: 其中 -D demo表示备份 demo这个数据库 , -o 后面表示备份至路径

taosdump -D demo  -o /app/taosTools-2.4.10/bin/backup

导入数据(slaver服务器):
我们首先需要将master备份的backup文件夹 ,复制到slaver服务器的 /app目录下
(数据复制到slaver服务器,slaver实现本地导入,不要使用异地导入命令 会有各种问题及bug)

进入taos数据库:

taos

创建数据库

create database demo;

退出数据库

exit

导入:

taosdump  -i  /app/backup/

接下来可以进入数据库进行验证 查看是否有数据

taos
use demo
select * from table xxx.... limit 

注:

  1. 如果报错提示:reason: Client and server’s time is not synchronized!

    要确认客户端和服务器的系统时间是否正确,并且它们的时区设置是否相同,可以按照以下步骤:
    在客户端上打开命令行终端或控制台,输入以下命令来查看系统当前的时间和时区设置:

    date
    

    在服务器上打开命令行终端或控制台,输入以下命令来查看系统当前的时间和时区设置:

    date
    

    比较客户端和服务器上的时间和时区设置是否相同。如果它们不同,请使用以下命令来设置正确的时间:

    date -s "2023-04-13 14:30:00"
    

    设置时区

    timedatectl set-timezone Asia/Shanghai
    
  2. 如果提示:taosdump: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

    需要安装gcc原子库:
    centos:

    yum install libatomic 
    

    Ubuntu/Debian

    sudo apt-get update
    sudo apt-get install libatomic1
    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟秋与你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值