一、拉取镜像并启动
1、拉取clickhouse镜像
docker pull yandex/clickhouse-server
2、启动server端
我的命令:
docker run -d --name clickhouse-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 yandex/clickhouse-server
大家也可以使用:
docker run -d --name clickhouse-server --restart=always --ulimit nofile=262144:262144 -p 8123:8123 -p 9001:9000 yandex/clickhouse-server
二、进入容器操作数据库
1、进入容器
docker exec -it clickhouse-server /bin/bash
2、进入clickhouse命令行
clickhouse-client
3、显示数据库
show databases
4、选择数据库
use default
5、显示表
show tables
6、创建表
CREATE TABLE IF NOT EXISTS student
(
stuid String COMMENT '学号',
class_id Nullable(String) COMMENT '班级',
name_id Nullable(String) COMMENT '名字'
) ENGINE = MergeTree() PARTITION BY stuid
ORDER BY (stuid)
PRIMARY KEY (stuid) SETTINGS index_granularity=8192;
7、插入数据
insert into student (stuid,class_id,name)
values('10022','2302','xiaoming');
8、查询
select * from student
三、远程授权
1、修改配置文件
配置文件路径一般为/etc/clickhouse-server/config.xml,在配置文件中添加如下一行
<listen_host>::</listen_host>
/etc/clickhouse-server/
vim config.xml
<listen_host>::</listen_host> 取消注释
注意一定要配成 :: 而且要将其他本地监视连接注释,0.0.0.0将导致本地的命令行客户端无法连接,本地命令行客户端使用的是ipv6地址
vim users.xml
<networks>
<ip>::/0</ip>
</networks>
如果修改密码
修改users.xml中password,无需重启即可生效
2、重启容器
保存后重启服务,再重新用DBeaver连接可成功
systemctl restart clickhouse-server.service
也可以直接重启容器
docker ps -a 查看对应的容器id
docker restart 容器id
3、测试链接
连接docker
可以使用dbeaver 作为clickhouse的连接工具
默认账户default ,密码为空
四、修改默认用户default密码
1、配置文件介绍
clickhouse的主要配置文件在 /etc/clickhouse-server目录下
扫描二维码关注公众号,回复:
14894047 查看本文章
在该目录下,我们可以看到config.xml以及users.xml两个配置文件
(1)config.xml是系统相关的配置项,包括系统的启动端口、配置文件存储位置等等
(2)users.xml 是用户相关的配置项,包括了系统参数的设定、用户的定义、权限以及熔断机制等等
2、打开users.xml,修改default用户密码
打开users.xml,找到标签,该标签定义了用户信息
password用于设置登录密码,支持明文、SHA256加密和double_shal加密三种形式,我们可以根据实际需求,认选一种进行配置。我们下面介绍最简单的,明文修改密码
明文密码:直接通过password标签定义
<password>123</password> --注意:当password标签为空时,代表免密码登录。
3、重启服务
我是用dockers安装的,所以重启命令为:
docker restart 容器id
4、测试链接
密码设定完成之后,直接使用clickhouse-client连接clickhouse-server客户端就不能成功了,会提示密码错误或用户不存在。此时我们应该指定登录密码,命令如下:
//-u 为指定使用哪个账号进行登录,如不指定。默认使用default
clickhouse-client -u default --password 123