Clickhouse的多种连接方式
- Clickhouse-client
- HTTP接口
- JDBC
官网链接:https://clickhouse.com/docs/zh/interfaces/cli/
Clickhouse-client
ClickHouse提供了一个原生命令行客户端clickhouse-client客户端支持命令行操作clickhouse
$ clickhouse-client
ClickHouse client version 19.17.1.1579 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.17.1 revision 54428.
:)
连接clickhouse:
clickhouse-client --multiline -u username -h ip --password passowrd
指定multiline的含义是,如果指定了multiline:为了执行查询,需要以分号结尾并且按下Enter键。如果行末没有分号,将认为当前语句并没有输入完而要求继续输入下一行。
HTTP接口
有时候线上的服务器可能没有Clickhouse的客户端,因此直接利用clickhouse-client进行连接会出错,因此掌握使用HTTP连接的方式也是很有必要的。
HTTP接口允许您在任何编程语言的任何平台上使用Clickhouse。我们使用它在Java和Perl以及shell脚本中工作。HTTP接口比原生接口受到更多的限制,但它具有更好的兼容性。
默认情况下,clickhouse-server会在8123端口上监控HTTP请求(这可以在配置中修改)。
如果你发送了一个未携带任何参数的GET /请求,它会返回一个字符串 «Ok.»(结尾有换行)。可以将它用在健康检查脚本中。
比如:
$ curl 'http://localhost:8123/'
Ok.
访问指定ip的clickhouse,并携带用户名密码:
curl '-u username:password http://ip:port?max_memory_usage=100000000000000 --data-binary @-'
上面替换成自己的用户名、密码、ip地址和端口号即可。
如果想执行SQL操作,可以采用如下形

本文介绍了Clickhouse的三种连接方式:clickhouse-client、HTTP接口和JDBC。clickhouse-client是原生命令行客户端,适合本地操作;HTTP接口适用于无客户端环境,具有较好的兼容性,可用于健康检查和SQL执行;JDBC则提供了与Java等编程语言的集成,方便在应用中操作Clickhouse。详细讲解了每种方式的使用示例和注意事项。

6351

被折叠的 条评论
为什么被折叠?



