直接运行, docker 会自动帮你拉取镜像:
docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server
查看镜像
[root@ly-A2 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d00724297352 yandex/clickhouse-server "/entrypoint.sh" 9 seconds ago Up 8 seconds 0.0.0.0:8123->8123/tcp, 0.0.0.0:9000->9000/tcp, 0.0.0.0:9009->9009/tcp ch-server
进入 Clickhouse 容器
docker exec -it d00724297352 /bin/bash
需要注意的是, 默认的容器是一个依赖包不完整的 ubuntu 虚拟机
所以我们需要安装 vim
apt-get update
apt-get install vim -y
进入 clickhouse-server 目录并查看目录
cd /etc/clickhouse-server
查看目录
root@d00724297352:/etc/clickhouse-server# ll
total 52
drwxr-xr-x 1 root root 4096 May 14 18:29 ./
drwxr-xr-x 1 root root 4096 May 22 08:12 ../
drwxr-xr-x 1 root root 4096 May 14 18:29 config.d/
-rw-r--r-- 1 root root 26466 May 8 19:38 config.xml
lrwxrwxrwx 1 root root 41 May 14 18:29 preprocessed -> /var/lib/clickhouse//preprocessed_configs/
drwxr-xr-x 2 root root 4096 May 14 18:29 users.d/
-rw-r--r-- 1 root root 5328 May 8 19:38 users.xml
修改 clickhouse 的用户密码需要在 users.xml 中配置
需要注意的是: 密码必须为加密过的形式, 否则会一直连不上。
我们这次采用 SHA256 的方式加密
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "你的密码"; echo -n "你的密码" | sha256sum | tr -d '-'
执行以上命令后会在命令行打印密码明文和密码密文, 如下
root(密码明文)
4813494d137e1631bba301d5acab6e7bb7aa74ce1185d456565ef51d737677b2
vim user.xml 修改用户密码
将 55 行的 替换为 <password_sha256_hex> 密码密文 </password_sha256_hex>
不需要重启即可登录
clickhouse-client -h 127.0.0.1 -d default -m -u default --password '你的密码'
客户端常用参数
clickhouse-client
--host, -h :服务端host名称,默认 localhost
--port :连接端口,默认9000
--user, -u :用户名,默认 default
--password :密码,默认空
--query, -q :非交互模式下的查询语句
--database, -d :默认当前操作的数据库,默认default
--multiline, -m :允许多行语句查询,在clickhouse中默认回车即为sql结束,可使用该参数多行输入
--format, -f :使用指定的默认格式输出结果 csv,以逗号分隔
--time, -t :非交互模式下会打印查询执行的时间
--stacktrace :出现异常会打印堆栈跟踪信息
--config-file :配置文件名称
登录成功
d00724297352 😃 show databases;
SHOW DATABASES
┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ default │
│ system │
└────────────────────────────────┘
3 rows in set. Elapsed: 0.002 sec.