1

ClickHouse部署与使用

 2 years ago
source link: https://shidawuhen.github.io/2022/04/26/ClickHouse%E9%83%A8%E7%BD%B2%E4%B8%8E%E4%BD%BF%E7%94%A8/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ClickHouse部署与使用

2022-04-26

ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。本次讲述在Debian上单机部署流程,并梳理常用操作。

在Debian上安装ClickHouse比较简单

sudo apt-get install apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754

echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update

sudo apt-get install -y clickhouse-server clickhouse-client

sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.

安装过程中如果设置了密码,登录命令为

clickhouse-client --password

该命令默认为default用户。

create database pzqtest;
# 使用新建的库
use pzqtest;
# 创建表
CREATE TABLE pzqtest.t1
(
`id` UInt8,
`val` String
)
ENGINE = MergeTree
PRIMARY KEY id
insert into t1 (id,val) values (1,'1'),(2,'2');
select * from t1;

修改default权限

ClickHouse提供了一个default账号,这个账号有所有的权限,但是不能使用SQL驱动方式的访问权限和账户管理。我们需要在配置文件中修改default账户,使其能够通过SQL驱动方式添加角色和用户。

修改 /etc/clickhouse-server/users.xml 文件,在:标签中,将中的值从0改成1。

image-20220425223908836

修改后,重启clickhouse-server

service clickhouse-server restart

创建管理员账号

CREATE USER IF NOT EXISTS admin IDENTIFIED WITH sha256_password BY 'password'
GRANT ALL ON *.* TO admin WITH GRANT OPTION
clickhouse-client --user admin --password w****

表结构导出/导入

导出ClickHouse表结构,可以通过DataGrip。用DataGrip连接ClickHouse后,在库上点击右键->SQL Scripts->Generate DDL to Clipboard,然后将这些内容Ctrl+V到指定文件即可。213301650815588

clickhouse-client --user default --password --queries-file ./test.sql

如果使用一些实验中的引擎,需要开启

set allow_experimental_database_materialized_mysql = 1

安装ClickHouse,建议直接使用英文官网中的方案进行操作,目前看是最便捷、最直接的方案了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK