Clickhouse通过docker安装以及使用

本教程安装通过docker来进行安装,clickhouse暂无windows版本

1、拉取docker clickhouse镜像

docker pull clickhouse/clickhouse-server

2、启动临时容器获取原生配置

启动容器

docker run -d --name=temp-clickhouse clickhouse/clickhouse-server

复制原生配置文件到本地,此处我是将配置文件放置到我的/opt/clickhouse/conf目录下

docker cp temp-clickhouse:/etc/clickhouse-server/users.xml /opt/clickhouse/conf/users.xml

docker cp temp-clickhouse:/etc/clickhouse-server/config.xml /opt/clickhouse/conf/config.xml

3、修改配置

打开获取到的users.xml

配置密码,这里我测试设置为123456

<password>123456</password>

添加以下配置,如果缺失则添加,添加以下配置是因为default默认用户是无法进行大量操作的,必须通过default创建一个新的管理员账户使用

<named_collection_control>1</named_collection_control>
<show_named_collections>1</show_named_collections>
<show_named_collections_secrets>1</show_named_collections_secrets>

networks标签中的ip标签设置为::/0 ,使default用户所有ip均可访问

<networks>
<ip>::/0</ip>
</networks>

修改完毕保存

打开获取的conf.xml

将listen_host标签设置为所有ip均可连接

<listen_host>0.0.0.0</listen_host>

修改完毕保存

4、创建正式容器

前面创建的临时容器可进行删除

创建容器

docker run  -d --name clickhouse -p 8123:8123 -p 9000:9000 -p 9004:9004 -v /opt/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml -v /opt/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml -v /opt/clickhouse/data:/var/lib/clickhouse/ bdc92f76af67

解析:

8123是clickhouse的连接端口,9004是可通过mysql驱动连接的端口,9000是连接控制台的连接端口。正常连接可只开放8123

5、创建完成,进入容器

docker exec -it clickhouse /bin/bash

6、通过default登录clickhouse

clickhouse-client -u default -p 123456

7、添加新用户赋予权限

这里我创建的是clickhouse_admin用户,密码为password

CREATE USER clickhouse_admin IDENTIFIED BY 'password'

赋予权限

GRANT ALL ON *.* TO clickhouse_admin WITH GRANT OPTION

用新用户登录则可以使用clickhouse了,完成


已发布

分类

,

来自

标签: