ClickHouse部署与使用

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 文件,在:标签中,将<access_management></access_management>中的值从0改成1。

图片

修改后,重启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到指定文件即可。

图片

导入

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

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

set allow_experimental_database_materialized_mysql = 1

总结

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

资料

  1. 中文官网

  2. CentOS7安装部署ClickHouse(单机版&&集群部署)

  3. ubuntu出现RPM should not be used directly install RPM packages, use Alien instead的解决方法

  4. Clickhouse集群部署

  5. ubuntu下安装unixODBC(mysql)

  6. dpkg安装和卸载

  7. 官网

  8. clickhouse 创建数据库和表

  9. clickhouse增删改查、创建数据库、创建表、修改字段、添加字段、删除字段

  10. ClickHouse批量执行sql语句及超长语句

  11. ClickHouse 之 MaterializeMySQL 实战

  12. Clickhouse创建用户

  13. clickhouse 创建角色/用户

最后

大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)

我的个人博客为:https://shidawuhen.github.io/

往期文章回顾:

  1. 设计模式

  2. 招聘

  3. 思考

  4. 存储

  5. 算法系列

  6. 读书笔记

  7. 小工具

  8. 架构

  9. 网络

  10. Go语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员麻辣烫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值