背景
公司的项目中使用到了Clickhouse,在该时序数据库安装完后,需要对业务使用到的相关表进行初始化。开发提供了一份建表的sql文件,这里我需要执行该sql文件进行初始化即可。这里我使用到了Clickhouse的原生命令行客户端:Clickhouse-client,用于快速导入。
安装clickhouse
1)验证是否支持sse4.2
#clickhouse的server已经client仅支持x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
2)安装clickhouse及clickhouse-client
如果是Ubuntu:
sudo apt-get install apt-transport-https ca-certificates dirmngr sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4 echo "deb https://repo.clickhouse.tech/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list
#更新deb源
sudo apt-get update
#安装clickhouse-server和clickhouse-client sudo apt-get install -y clickhouse-server clickhouse-client
#启动clickhouse-server
sudo service clickhouse-server start
如果是Centos:
sudo yum install yum-utils sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
#安装clickhouse-server和clickhouse-client
sudo yum install clickhouse-server clickhouse-client
#启动clickhouse-serversudo /etc/init.d/clickhouse-server start
3)Clickhouse配置
Clickhouse-server:/etc/clickhouse-server/config.xml,根据自己的实际情况修改。
Clickhouse-client: 按优先级依次向下查找
- ./clickhouse-client.xml
- ~/.clickhouse-client/config.xml
- /etc/clickhouse-client/config.xml
我们修改/etc/clickhouse-client/config.xml,增加user和password,secure三个xml元素。
<config> <user>defaultuser> <password>xxxpassword> <secure>Falsesecure> <openSSL> <client> <loadDefaultCAFile>trueloadDefaultCAFile> <cacheSessions>truecacheSessions> <disableProtocols>sslv2,sslv3disableProtocols> <preferServerCiphers>truepreferServerCiphers> <invalidCertificateHandler> <name>RejectCertificateHandlername> invalidCertificateHandler> client> openSSL> <prompt_by_server_display_name> <default>{display_name} :) default> <test>{display_name} x01e[1;32mx02:)x01e[0mx02 test> <production>{display_name} x01e[1;31mx02:)x01e[0mx02 production> prompt_by_server_display_name> config>
Clickhouse安装完成后,我们使用Clickhouse-client简单操作下Clickhouse:
- --host, -h -– 服务端的host名称, 默认是localhost。您可以选择使用host名称或者IPv4或IPv6地址,常用。
- --port – 连接的端口,默认值:9000。注意HTTP接口以及TCP原生接口使用的是不同端口,常用。
- --user, -u – 用户名。 默认值:default,常用。
- --password – 密码。 默认值:空字符串,常用。
- --query, -q – 使用非交互模式查询,常用。
- --database, -d – 默认当前操作的数据库. 默认值:服务端默认的配置(默认是default),常用。
- --multiline, -m – 如果指定,允许多行语句查询(Enter仅代表换行,不代表查询语句完结),常用。
- --multiquery, -n – 如果指定, 允许处理用;号分隔的多个查询,只在非交互模式下生效,常用。
- --format, -f – 使用指定的默认格式输出结果。
- --vertical, -E – 如果指定,默认情况下使用垂直格式输出结果。这与–format=Vertical相同。在这种格式中,每个值都在单独的行上打印,这种方式对显示宽表很有帮助。
- --time, -t – 如果指定,非交互模式下会打印查询执行的时间到stderr中。
- --stacktrace – 如果指定,如果出现异常,会打印堆栈跟踪信息。
- --config-file – 配置文件的名称,常用。
- --secure – 如果指定,将通过安全连接连接到服务器。
- --history_file — 存放命令历史的文件的路径。
- --param_ — 查询参数配置查询参数.
例子
1)使用Clickhouse-client连接Clickhouse的default数据库。
格式:clickhouse-client --host Clickhouse的host地址 --user 登录名 --password 密码 --port Clickhouse的端口号
clickhouse-client --host 172.30.0.252 --user default --password xxx --port 9090
2)导入sql文件到指定clickhouse
格式:clickhouse-client --host Clickhouse的host地址 --user 登录名 --password 密码 --port Clickhouse的端口号 --multiquery < xxx.sql
clickhouse-client --host 172.30.0.252 --user default --password qingcloud2019 --port 9090 --multiquery < ck.sql
以上就是对Clickhouse的搭建和简单使用说明,欢迎朋友们留言~
博主:测试生财(一个不为996而996的测开码农)
座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。
内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。
csdn:https://blog.csdn.net/ccgshigao
博客园:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374
微信公众号:测试生财(定期分享独家内容和资源)