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语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员麻辣烫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值