From fccf3c2d7dae56454fd89bd5a9c9b342f0110e35 Mon Sep 17 00:00:00 2001 From: haojun Liao Date: Wed, 4 Dec 2019 13:45:42 +0800 Subject: [PATCH] Update administrator-ch.md --- .../webdocs/markdowndocs/administrator-ch.md | 107 ++++++++++++++++-- 1 file changed, 99 insertions(+), 8 deletions(-) diff --git a/documentation/webdocs/markdowndocs/administrator-ch.md b/documentation/webdocs/markdowndocs/administrator-ch.md index b2e66b7568..03e3b85b95 100644 --- a/documentation/webdocs/markdowndocs/administrator-ch.md +++ b/documentation/webdocs/markdowndocs/administrator-ch.md @@ -80,19 +80,110 @@ option file:/home/cfg/taos.cfg not found, all options are set to system default ``` 更多taos的使用方法请见[Shell命令行程序](#_TDengine_Shell命令行程序)。本节主要讲解taos客户端应用在配置文件taos.cfg文件中使用到的参数。 -客户端配置参数如下 +客户端配置参数说明 -- masterIP:客户端默认发起请求的服务器的IP地址 -- charset:指明客户端所使用的字符集,默认值为UTF-8。TDengine为了存储中文、日文等非ASCII编码的宽字符,提供一种专门的字段类型`nchar`。如果数据写入`nchar`字段,将统一采用`UCS4-LE`格式对字段中数据进行编码存储。需要注意的是,**编码正确性**是客户端来保证。因此,如果用户想要正常使用`nchar`字段来存储诸如中文、日文等非ASCII字符,需要正确设置客户端的编码格式。客户端的输入的字符均采用操作系统当前默认的编码格式,在Linux系统上多为`UTF-8`,也有部分中文编码,例如`GB18030`或`GBK`等。在docker环境中默认的编码是`POSIX`。因此,客户端需要设置自己所使用的字符集,即所在系统的当前编码字符集才能正确地确保数据转换为`UCS4-LE`编码格式。 -如果配置文件中不设置`charset`,taos将自动读取系统当前的locale信息,并从locale信息中解析提取charset编码格式。如果自动读取locale信息失败,则中断启动,要求用户在配置文件中指定charset,才能正常启动。 -- locale:设置系统语言环境。Linux上客户端与服务端共享 -- defaultUser:默认登录用户,默认值root -- defaultPass:默认登录密码,默认值taosdata +**masterIP** +客户端默认发起请求的服务器的IP地址 + +**locale** +- 默认值:系统中动态获取,如果自动获取失败,需要用户在配置文件设置或通过API设置 +- 是否必须设置:否 + +TDengine为存储中文、日文、韩文等非ASCII编码的宽字符,提供一种专门的字段类型`nchar`。写入`nchar`字段的数据将统一采用`UCS4-LE`格式进行编码并发送到服务器。需要注意的是,**编码正确性**是客户端来保证。因此,如果用户想要正常使用`nchar`字段来存储诸如中文、日文、韩文等非ASCII字符,需要正确设置客户端的编码格式。 + +客户端的输入的字符均采用操作系统当前默认的编码格式,在Linux系统上多为`UTF-8`,部分中文系统编码则可能是`GB18030`或`GBK`等。在docker环境中默认的编码是`POSIX`。在中文版Windows系统中,编码则是`CP936`。客户端需要确保正确设置自己所使用的字符集,即客户端运行的操作系统当前编码字符集,才能保证`nchar`中的数据正确转换为`UCS4-LE`编码格式。 + +在 Linux 中 locale 的命名规则为: +`<语言>_<地区>.<字符集编码>` +如:`zh_CN.UTF-8`,zh代表中文,CN代表大陆地区,UTF-8表示字符集。字符集编码为客户端正确解析本地字符串提供编码转换的说明。Linux系统与Mac OSX系统可以通过设置locale来确定系统的字符编码,由于Windows使用的locale中不是POSIX标准的locale格式,因此在Windows下需要采用另一个配置参数`charset`来指定字符编码。在Linux系统中也可以使用charset来指定字符编码。 + +**charset** +- 默认值:系统中动态获取,如果自动获取失败,需要用户在配置文件设置或通过API设置 +- 是否必须设置:否 + +如果配置文件中不设置`charset`,在Linux系统中,taos在启动时候,自动读取系统当前的locale信息,并从locale信息中解析提取charset编码格式。如果自动读取locale信息失败,则尝试读取charset配置,如果读取charset配置也失败,**则中断启动过程**。 + +在Linux系统中,locale信息包含了字符编码信息,因此正确设置了Linux系统locale以后可以不用再单独设置charset。例如: +``` +locale zh_CN.UTF-8 +``` +在Windows系统中,无法从locale获取系统当前编码。如果无法从配置文件中读取字符串编码信息,`taos`默认设置为字符编码为`CP936`。其等效在配置文件中添加如下配置: +``` +charset CP936 +``` +如果需要调整字符编码,请查阅当前操作系统使用的编码,并在配置文件中正确设置。 + +在Linux系统中,如果用户同时设置了locale和字符集编码charset,并且locale和charset的不一致,后设置的值将覆盖前面设置的值。 +``` +locale zh_CN.UTF-8 +charset GBK +``` +则`charset`的有效值是`GBK`。 +``` +charset GBK +locale zh_CN.UTF-8 +``` +`charset`的有效值是`UTF-8`。 + +**sockettype** +- 默认值:UDP +- 是否必须设置:否 + +客户端连接服务端的套接字的方式,可以使用`UDP`和`TCP`两种配置。 +在客户端和服务端之间的通讯需要经过恶劣的网络环境下(如公共网络、互联网)、客户端与数据库服务端连接不稳定(由于MTU的问题导致UDP丢包)的情况下,可以将连接的套接字类型调整为`TCP` + +>注意:客户端套接字的类型需要和服务端的套接字类型相同,否则无法连接数据库。 + +**compressMsgSize** +- 默认值:-1 +- 是否必须设置:否 + +客户端与服务器之间进行消息通讯过程中,对通讯的消息进行压缩的阈值,默认值为-1(不压缩)。如果要压缩消息,建议设置为64330字节,即大于64330字节的消息体才进行压缩。在配置文件中增加如下配置项即可: +``` +compressMsgSize 64330 +``` +如果配置项设置为0,`compressMsgSize 0`表示对所有的消息均进行压缩。 + +**timezone** +- 默认值:从系统中动态获取当前的时区设置 +- 是否必须设置:否 + +客户端运行系统所在的时区。为应对多时区的数据写入和查询问题,TDengine采用Unix时间戳([Unix Timestamp](https://en.wikipedia.org/wiki/Unix_time))来记录和存储时间戳。Unix时间戳的特点决定了任一时刻不论在任何时区,产生的时间戳均一致。需要注意的是,Unix时间戳是在客户端完成转换和记录。为了确保客户端其他形式的时间()转换为正确的Unix时间戳,需要设置正确的时区。 + +在Linux系统中,客户端会自动读取系统设置的时区信息。用户也可以采用多种方式在配置文件设置时区。例如: +``` +timezone UTC-8 +timezone GMT-8 +timezone Asia/Shanghai +``` +均是合法的设置东八区时区的格式。 + + +时区的设置对于查询和写入SQL语句中非Unix时间戳的内容(时间戳字符串、关键词`now`的解析)产生影响。例如: +``` +SELECT count(*) FROM table_name WHERE TS<'2019-04-11 12:01:08'; +``` +在东八区转换的SQL语句等效于 +``` +SELECT count(*) FROM table_name WHERE TS<1554955268000; +``` +在UTC时区,SQL语句等效于 +``` +SELECT count(*) FROM table_name WHERE TS<1554984068000; +``` +为了避免使用字符串时间格式带来的不确定性,也可以直接使用Unix时间戳。此外,还可以在SQL语句中使用带有时区的时间戳字符串,例如:RFC3339格式的时间戳字符串,`2013-04-12T15:52:01.123+08:00`或者ISO-8601格式时间戳字符串`2013-04-12T15:52:01.123+0800`。上述两个字符串转化为Unix时间戳不受系统所在时区的影响。 + +**defaultUser** +默认登录用户,默认值root + +**defaultPass** +默认登录密码,默认值taosdata TCP/UDP端口,以及日志的配置参数,与server的配置参数完全一样。 启动taos时,你也可以从命令行指定IP地址、端口号,用户名和密码,否则就从taos.cfg读取。 + ## 用户管理 系统管理员可以在CLI界面里添加、删除用户,也可以修改密码。CLI里SQL语法如下: @@ -206,4 +297,4 @@ KILL STREAM TDengine启动后,会自动创建一个监测数据库SYS,并自动将服务器的CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度、慢查询等信息定时写入该数据库。TDengine还将重要的系统操作(比如登录、创建、删除数据库等)日志以及各种错误报警信息记录下来存放在SYS库里。系统管理员可以从CLI直接查看这个数据库,也可以在WEB通过图形化界面查看这些监测信息。 -这些监测信息的采集缺省是打开的,但可以修改配置文件里的选项enableMonitor将其关闭或打开。 +这些监测信息的采集缺省是打开的,但可以修改配置文件里的选项`monitor`将其关闭或打开。