当前位置: 首页 > news >正文

Docker Compose部署Clickhouse最新版

方式1:配置文件挂载

# 拉取最新版镜像
docker pull clickhouse:25.7.4.11-jammy# 启动容器,从容器中复制默认配置到本地
docker run --rm -d --name tmp-ck clickhouse:25.7.4.11-jammy# 复制文件到本地
mkdir config
docker cp tmp-ck:/etc/clickhouse-server/users.xml ./config
docker cp tmp-ck:/etc/clickhouse-server/config.xml ./config
ll config

编辑users.xml,增加一个我们自己的用户名和密码,这里我就用

    <users><!-- 这里是本来的默认配置,default用户 --><admin><!-- 配置文件使用明文密码 --><!-- <password>123456</password> --><!-- 配置文件使用sha256密文密码 --><password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex><networks><ip>::/0</ip></networks><!-- 下面配置和grants不能共存,用于资源控制和用户管理 --><!-- <profile>default</profile><quota>default</quota><access_management>1</access_management>--><!-- 给该用户最高权限,后面用此用户创建其他用户 --><grants><query>GRANT ALL ON *.* WITH GRANT OPTION</query><query>GRANT NAMED COLLECTION ADMIN ON *.*</query></grants></admin></users>

sha256密文密码生成命令

echo -n '123456' | sha256sum | cut -d' ' -f1
# 将得到的值写入 users.xml 的 <password_sha256_hex> 节点

docker-compose.yml

services:clickhouse:image: clickhouse:25.7.4.11-jammycontainer_name: clickhouseports:- "8123:8123"    # HTTP 接口(用于 curl/浏览器)- "9000:9000"    # Native TCP 接口(用于 clickhouse-client)environment:TZ: Asia/Shanghaivolumes:- ./data:/var/lib/clickhouse       # 数据目录- ./logs:/var/log/clickhouse       # 日志目录- ./config/config.xml:/etc/clickhouse-server/config.xml:ro  # 可选自定义配置- ./config/users.xml:/etc/clickhouse-server/users.xml:ro    # 可选自定义用户ulimits:nofile:soft: 262144hard: 262144restart: unless-stopped

启动

# 启动
docker-compose up -d# 停止
docker-compose down -v

方式2:直接在docker-compose.yml设置用户名密码

services:clickhouse:# image: clickhouse/clickhouse-server:23.8  # clickhouse官方镜像,只有server没有clientimage: clickhouse:25.7.4.11-jammy   # docker官方镜像,server+clientcontainer_name: clickhouseports:- "8123:8123"    # HTTP 接口(用于 curl/浏览器)- "9000:9000"    # Native TCP 接口(用于 clickhouse-client)- "9009:9009"    # 内部复制通信端口(可选)environment:TZ: Asia/ShanghaiCLICKHOUSE_USER: adminCLICKHOUSE_PASSWORD: 123456volumes:- ./data:/var/lib/clickhouse       # 数据目录- ./logs:/var/log/clickhouse       # 日志目录ulimits:nofile:soft: 262144hard: 262144restart: unless-stopped

使用:

直接使用DataGrip或DBeaver或其他clickhouse客户端连接

# http 方式
127.0.0.1:8123admin123456# TCP方式,性能更高(例如: python clickhouse-sqlalchemy)
127.0.0.1:9000admin123456

常用的CK用户管理SQL

-- 创建数据库
create database test;
-- 创建用户: root,密码: 123456
CREATE USER root IDENTIFIED WITH sha256_password BY '123456';
-- 给root用户授予test库所有表权限
GRANT ALL ON test.* TO root WITH GRANT OPTION;
-- 查看用户权限
SHOW GRANTS FOR root;
-- 撤销用户权限,撤销某个库的权限和撤销所有库的权限
REVOKE ALL ON test.* FROM root;
REVOKE ALL ON *.* FROM root;
-- 给root用户授予所有库所有表权限
GRANT ALL ON *.* TO root WITH GRANT OPTION;
-- 给root用户授予g_开头的所有数据库的权限
GRANT ALL ON g_*.* TO root;
-- 删除用户
DROP USER root;

http://www.dtcms.com/a/332627.html

相关文章:

  • 【软件设计模式】工厂方法与抽象工厂
  • 关于截屏时实现游戏暂停以及本地和上线不同步问题
  • pycharm2025导入anaconda创建的各个AI环境
  • C++第二十课:快递运费计算器 / 黑白配+石头剪刀布小游戏
  • 医院网络安全重保方案
  • 用 KNN 算法解锁分类的奥秘:从电影类型到鸢尾花开
  • 从电影分类到鸢尾花识别:KNN 算法实战指南
  • @[TOC](计算机是如何⼯作的) JavaEE==网站开发
  • MySQL 关键字总结,并结合 SQL 类型(DDL / DML / DQL / DCL / TCL) 说明每类关键字的作用、使用场景和示例
  • 华为实验综合小练习
  • Android RxJava变换操作符详解
  • MuMu模拟器Pro Mac 安卓手机平板模拟器(Mac中文)
  • 9.对象介绍
  • iOS App TF 上架多工具协作实战,一次高效的应用内测分发流程
  • 【数据结构初阶】--排序(三):冒泡排序、快速排序
  • Tomcat部署JDK8项目启动失败:系统化诊断指南
  • 【科研绘图系列】R语言绘制多种饼图
  • OpenCV 阈值处理
  • 基于定制开发开源AI智能名片与S2B2C商城小程序的H5页面小游戏营销模式创新研究
  • 综合案例:Python 函数知识整合 — 学生成绩管理系统
  • fastdds.ignore_local_endpoints 属性
  • 自动化框架pytest(1)
  • Vue3 Element-plus 封装Select下拉复选框选择器
  • Vue3 + Element Plus 实现可搜索、可折叠、可拖拽的部门树组件
  • 基于element-plus的基础表单样式
  • [微服务]ELK Stack安装与配置全指南
  • Pytest项目_day17(随机测试数据)
  • 大模型微调分布式训练-大模型压缩训练(知识蒸馏)-大模型推理部署(分布式推理与量化部署)-大模型评估测试(OpenCompass)
  • 专题:2025跨境电商市场布局、供应链与产业带赋能报告 |附130+份报告PDF、原数据表汇总下载
  • Sparse-ICP—(3) 点到面稀疏迭代最近点算法(matlab版)