本教程安装通过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了,完成