clickhouse安装与使用
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。官方文档地址如下:
https://clickhouse.com/docs/zh
在传统的行式数据库系统中,数据按如下顺序存储:

处于同一行中的数据总是被物理的存储在一起,常见的行式数据库系统有:MySQL、Postgres和MS SQL Server
在列式数据库系统中,数据按如下的顺序存储:

常见的列式数据库有: Vertica、 Paraccel (Actian Matrix,Amazon Redshift)、 Sybase IQ、 Exasol、 Infobright、 InfiniDB、 MonetDB (VectorWise, Actian Vector)、 LucidDB、 SAP HANA、 Google Dremel、 Google PowerDrill、 Druid、 kdb+
安装
本例子为centos7为平台,通过rpm包的方式安装,首先下载rpm包,下载地址如下:
https://packages.clickhouse.com/rpm/stable/
1、安装所有的文件主要有三个,如下:
clickhouse-client-22.12.3.5.x86_64.rpm
clickhouse-common-static-22.12.3.5.x86_64.rpm
clickhouse-server-22.12.3.5.x86_64.rpm
2、执行yum命令安装,如下:
yum -y install *.rpm
3、执行命令启动clickhouse,如下:
systemctl enable clickhouse-server --now

此时的clickhouse的默认用户是default,并且没有密码,我们可以新增一个用户,并设置一个密码
新增用户并设置密码
1、编辑配置文件/etc/clickhouse-server/users.xml,在<users>标签下新增用户,如图:

- 19行:明文密码,不推荐,推荐使用第20/21行的加密密码
- 22行:开启SQL工作流,可用于配置权限实体,如果关闭就配置为0
- 23行:用户访问来源列表,本例子为所有
- 24行:用户配置文件,这里设置为default,实际可设置单独文件
- 25行:资源配额,这里也设置为default
具体用法可参考文档如下:
https://clickhouse.com/docs/zh/operations/settings/settings-users#access_management-user-setting
如果要使用SHA256加密后的密码,请将其放置在 password_sha256_hex 配置段,生成密码命令为:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "你的密码"; echo -n "你的密码" | sha256sum | tr -d '-'
结果的第一行是密码。 第二行是相应的SHA256哈希,把第二行填在配置段中
2、修改/etc/clickhouse-server/config.xml文件,配置listen为0.0.0.0,如图:

注:如果不配置,那么8123端口监听在127.0.0.1,只能本地连接,无法远程连接
3、通过DBeaver工具测试连接,可以发现连接成功,如图:

使用自带的客户端连接
clickhouse自带了一个客户端,名为clickhouse-client,通过此客户端也可连接到服务端,从而执行命令,连接方法如下:
clickhouse-client --user gongguan --password
输入密码后即可登录成功,如图:

登录成功后即可执行相关命令,clickhouse的命令和mysql比较类似,如图:

其余命令如下:
- 进入数据库:use dbname
- 显示表: show tables;
- 创建库: create database dbname;
- 查看表:select * from tablename;
更多用法参考官方文档: ClickHouse SQL 语句 | ClickHouse Docs


