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,建议直接使用英文官网中的方案进行操作,目前看是最便捷、最直接的方案了。
资料
-
中文官网
-
CentOS7安装部署ClickHouse(单机版&&集群部署)
-
ubuntu出现RPM should not be used directly install RPM packages, use Alien instead的解决方法
-
Clickhouse集群部署
-
ubuntu下安装unixODBC(mysql)
-
dpkg安装和卸载
-
官网
-
clickhouse 创建数据库和表
-
clickhouse增删改查、创建数据库、创建表、修改字段、添加字段、删除字段
-
ClickHouse批量执行sql语句及超长语句
-
ClickHouse 之 MaterializeMySQL 实战
-
Clickhouse创建用户
-
clickhouse 创建角色/用户
最后
大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)
我的个人博客为:https://shidawuhen.github.io/
往期文章回顾: