TDengine-运营管理

1 用户管理

系统管理员可以在CLI界面里添加、删除用户,也可以修改密码。CLI里SQL语法如下:

1.1 创建用户

CREATE USER <user_name> PASS <'password'>;

创建用户,并指定用户名和密码,密码需要用单引号引起来,单引号为英文半角

1.2 删除用户

DROP USER <user_name>;

删除用户,限root用户使用

1.3 修改用户密码

ALTER USER <user_name> PASS <'password'>;

修改用户密码,为避免被转换为小写,密码需要用单引号引用,单引号为英文半角

1.4 修改用户权限为

ALTER USER <user_name> PRIVILEGE <write|read>;

修改用户权限为:write 或 read,不需要添加单引号

说明:系统内共有 super/write/read 三种权限级别,但目前不允许通过 alter 指令把 super 权限赋予用户。

1.5 显示所有用户

SHOW USERS;

显示所有用户

2 数据导入、导出

2.1 导入

2.1.1 按脚本文件导入

source filename

TDengine的shell支持source filename命令,用于批量运行文件中的SQL语句。用户可将建库、建表、写数据等SQL命令写在同一个文件中,每条命令单独一行,在shell中运行source命令,即可按顺序批量运行文件中的SQL语句。以‘#’开头的SQL语句被认为是注释,shell将自动忽略。

2.1.2 按数据文件导入

TDengine也支持在shell对已存在的表从CSV文件中进行数据导入。CSV文件只属于一张表且CSV文件中的数据格式需与要导入表的结构相同,在导入的时候,其语法如下:

insert into tb1 file 'path/data.csv';

注意:如果CSV文件首行存在描述信息,请手动删除后再导入。如某列为空,填NULL,无引号。

2.2 导出

2.2.1 按表导出CSV文件

如果用户需要导出一个表或一个STable中的数据,可在taos shell中运行:

select * from <tb_name> >> data.csv;

这样,表tb_name中的数据就会按照CSV格式导出到文件data.csv中。

2.3 Taosdump

2.3.1 导出

DUMP工具导出数据时,以sql语句的形式导出内容,包括数据库、超级表、普通表,以及表中的记录数据,然后保存到指定的输出文件中。

导出数据时,可以使用不同的方式,比如导出所有数据库的数据;导出指定一个或多个数据库的数据;导出指定一个数据库中指定一个或多个表的数据;仅仅导出schema。同时,以上方式时,还可以指定数据的时间范围。下面分别举例描述。

2.3.1.1 导出所有数据库的数据
root@taos-ec1:/dump# ./taosdump -c /dump/cfg -o /dump/data-data0601-0701 -u jason -p abcd -A -S 1559318400000 -E 1561910400000 -t 500 -B 80 -T 8
  • -c : 指定配置文件所在的路径。因为dump会启动taos客户端,去链接taosd服务,所以需要做好配置文件。
  • -o:指定输出文件的路径。文件会自动生成,一个dbs.sql文件,导出数据库、超级表;若干个XXX_tables.N.sql文件,文件名的规则:XXX是数据库名称,N是数字,从0开始递增。
  • -u:用户名。
  • -p:密码。
  • -A:指示导出所有数据库的数据。
  • -S:指定导出记录的开始时间。Unix时间戳,单位:毫秒。该示例中时间是2019/6/1 0:0:0。
  • -E:指定导出记录的最后时间。Unix时间戳,单位:毫秒。该示例中时间是2019/7/1 0:0:0
  • -t:指定导入到一个文件的表的个数。该参数可以控制输出文件的大小。
  • -B:指定一条import语句中包含记录的条数。注意:不要让sql语句超过64k,否则后续导入会出错。该参数为了后续导入时,提高导入速率。
  • -T: 指定导出数据时,启动的线程数。建议设置成机器上core的2倍。
2.3.1.2 导出指定数据库的数据
root@taos-ec1:/dump# ./taosdump -c /dump/cfg -o /dump/data-data0601-0701 -u jason -p abcd -D dbname1 dbname2 -S 1559318400000 -E 1561910400000 -t 500 -B 100 -T 8

-D:指定仅导出dbname1和dbname2的所有数据。

2.3.1.3 导出指定数据库中指定表的数据
root@taos-ec1:/dump# ./taosdump -c /dump/cfg -o /dump/data-data0601-0701 -u jason -p abcd  dbname1 tablename1 tablename2 -S 1559318400000 -E 1561910400000 -t 500 -B 100 -T 8

指定导出dbname1数据库中tablename1和tablename2的数据。

2.3.1.4 仅仅导出schema
root@taos-ec1:/dump# ./taosdump -c /dump/cfg -o /dump/data-data0601-0701 -u jason -p abcd -A -S 1559318400000 -E 1561910400000 -t 500 -s -T 8

-s:仅仅导出所有数据库的schema,即数据库、超级表、普通表,但不导出表中的记录。

导出完成后,在指定的输出目录下生成若干.sql的文件。

2.3.2 导入

DUMP工具导入数据时,将导出的文件作为输入,顺序读入并执行文件中的sql语句,完成数据的导入。

将导出的所有文件(由于文件比较大,建议进行压缩,传输到目的机器上后,再解压),拷贝到一个路径下,比如/tmp路径。导入数据时,需要指定导入文件所在的目录。

root@ecs-17fe:# ./taosdump -c /tmp/cfg -u jason -p abcd -i /tmp/data0601-0701 -T 8
  • -i:导入文件所在路径。
  • -T:指定导入数据时,启动的线程数。建议设置成机器上core的2倍。

发表回复