clickhouse-用户和角色

本文详细介绍了如何在ClickHouse数据库中创建用户、管理用户权限、设定密码验证方式、指定用户主机、创建和修改角色、行策略、配置文件以及配额的设置。包括CREATEUSER,ALTERUSER,CREATEROLE,ROWPOLICY,SETTINGPROFILE,CREATEQUOTA等内容。

一、用户相关

1.赋予default用户权限

默认default用户是没有办法创建用户的,这时候需要我们修改配置文件users.xml,便能创建用户了,详见官网

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

    <!-- Settings profile for user. -->
    <profile>default</profile>

    <!-- Quota for user. -->
    <quota>default</quota>

    <!-- User can create other users and grant rights to them. -->
    <access_management>1</access_management> # 该部分控制权限,把原本注释去掉就能建用户了
    # 下面这几行也要加,不然授权all的时候会提示权限不足
    <named_collection_control>1</named_collection_control>
    <show_named_collections>1</show_named_collections>
    <show_named_collections_secrets>1</show_named_collections_secrets>
</default>
# 修改后需要重启clickhouse服务

2.创建管理用户

CREATE USER [IF NOT EXISTS | OR REPLACE] name1 [ON CLUSTER cluster_name1]
        [, name2 [ON CLUSTER cluster_name2] ...]
    [NOT IDENTIFIED | IDENTIFIED {
   
   [WITH {
   
   no_password | plaintext_password | sha256_password | sha256_hash | double_sha1_password | double_sha1_hash}] BY {
   
   'password' | 'hash'}} | {
   
   WITH ldap SERVER 'server_name'} | {
   
   WITH kerberos [REALM 'realm']} | {
   
   WITH ssl_certificate CN 'common_name'}]
    [HOST {
   
   LOCAL | NAME 'name' | REGEXP 'name_regexp' | IP 'address' | LIKE 'pattern'} [,...] | ANY | NONE]
    [DEFAULT ROLE role [,...]]
    [DEFAULT DATABASE database | NONE]
    [GRANTEES {
   
   user | role | ANY | NONE} [,...] [EXCEPT {
   
   user | role} [,...]]]
    [SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [READONLY | WRITABLE] | PROFILE 'profile_name'] [,...]

2.1 密码验证方式

IDENTIFIED WITH no_password # 无密码
IDENTIFIED WITH plaintext_password BY 'qwerty'
IDENTIFIED WITH sha256_password BY 'qwerty'或IDENTIFIED BY 'password'
IDENTIFIED WITH sha256_hash BY 'hash'或IDENTIFIED WITH sha256_hash BY 'hash' SALT 'salt'
IDENTIFIED WITH double_sha1_password BY 'qwerty'
IDENTIFIED WITH double_sha1_hash BY 'hash'
IDENTIFIED WITH bcrypt_password BY 'qwerty'
IDENTIFIED WITH bcrypt_hash BY 'hash'
IDENTIFIED WITH ldap SERVER 'server_name'
IDENTIFIED WITH kerberos或IDENTIFIED WITH kerberos REALM 'realm'
IDENTIFIED WITH ssl_certificate CN 'mysite.com:user'
IDENTIFIED BY 'qwerty'

2.2 指定用户主机

HOST IP 'ip_address_or_subnetwork' # 用户只能从指定的 IP 地址或子网连接到 ClickHouse 服务器。例子:。对于在生产中使用,请仅指定元素(IP 地址及其掩码),因为使用 和可能会导致额外的延迟。HOST IP '192.168.0.0/16'HOST IP '2001:DB8::/32'HOST IPhosthost_regexp
HOST ANY # 用户可以从任何位置进行连接。这是默认选项。
HOST LOCAL # 用户只能在本地连接。
HOST NAME 'fqdn' # 可以将用户主机指定为 FQDN。例如。HOST NAME 'mysite.com'
HOST REGEXP 'regexp' # 您可以在指定用户主机时使用 pcre 正则表达式。例如。HOST REGEXP '.*
<think>我们正在生成一个完整的clickhouse-backup配置文件模板,并附上详细的字段说明配置指南。 注意:clickhouse-backup是一个用于备份恢复ClickHouse数据的工具,其配置文件通常为`config.yml`或`clickhouse-backup.yml`。 我们将根据官方文档常见配置提供一个标准模板,并对每个配置项进行解释。 配置文件通常包含以下几个部分: 1. 通用配置(如日志级别、备份目录等) 2. ClickHouse连接配置 3. 备份存储配置(如本地目录、云存储等) 4. 备份压缩配置 5. 其他高级配置 由于用户要求提供完整的模板,我们将尽量覆盖所有常用配置项,并给出详细说明。 注意:配置项可能会有变化,请以官方文档为准。我们参考的是clickhouse-backup的v1.0.0版本及之后的配置。 开始生成配置文件模板说明:</think>### ClickHouse-Backup 配置文件模板与详细指南 以下是完整的 `clickhouse-backup.yml` 配置文件模板,包含所有常用配置项的详细说明: ```yaml # ====================== # 通用配置 # ====================== general: # 备份文件存储路径(默认:/var/lib/clickhouse/backup/) backup_path: "/data/backups/clickhouse" # 最大并行备份任务数(默认:1) max_backups: 5 # 是否备份分布式表DDL语句(默认:true) backup_distributed_ddl: true # 恢复时是否跳过已存在表(默认:false) restore_schema_on_cluster: false # ====================== # ClickHouse 连接配置 # ====================== clickhouse: # 服务器地址(默认:localhost:9000) host: "localhost:9000" # 用户名(默认:default) username: "admin" # 密码(可选) password: "your_password" # 连接超时(单位:秒,默认:30) dial_timeout: 30 # 是否跳过验证SSL证书(默认:false) skip_verify: false # 备份期间使用的压缩格式(可选:none/gzip/lz4/brotli/zstd) compression_format: "lz4" # 压缩级别(1-9,默认:1) compression_level: 3 # ====================== # 备份存储配置 # ====================== s3: # 启用S3存储(需配置access_key/secret_key) enabled: false access_key: "AWS_ACCESS_KEY" secret_key: "AWS_SECRET_KEY" bucket: "your-bucket-name" endpoint: "s3.amazonaws.com" region: "us-east-1" acl: "private" force_path_style: false path: "/backups/" # ====================== # 文件系统备份配置 # ====================== file_system: # 本地备份路径(覆盖general.backup_path) path: "/mnt/nas/clickhouse_backups" # ====================== # 高级配置 # ====================== api: # 启用REST API(默认:false) enable: true # API监听地址(默认:localhost:7171) listen: "0.0.0.0:7171" # 启用HTTPS(需配置证书) enable_https: false # API认证凭证 username: "api_user" password: "api_password" # ====================== # 备份策略配置 # ====================== retention: # 保留最近N天的备份(默认:0-禁用) days: 7 # 保留最近N个备份(默认:0-禁用) copies: 5 # 保留策略执行周期(cron格式) schedule: "0 0 * * *" # ====================== # 备份过滤规则 # ====================== tables: # 包含的表(支持正则表达式) include: - "db1.*" - "important_data.*" # 排除的表(支持正则表达式) exclude: - "system.*" - "tmp_*" - ".*_test" ``` ### 配置项详细说明 1. **通用配置** - `backup_path`:备份文件存储的本地基础路径 - `max_backups`:同时保留的最大备份版本数,超出时自动删除旧备份 - `backup_distributed_ddl`:备份分布式表的创建语句(`.sql`文件) - `restore_schema_on_cluster`:恢复时在集群所有节点创建表结构(分布式环境建议启用) 2. **ClickHouse连接配置** - `compression_format`:推荐`lz4`(速度快)或`zstd`(高压缩比) - `compression_level`:数值越高压缩率越大,但CPU消耗越高(`zstd`建议3-6) 3. **存储配置** - **S3配置**:启用后备份直接上传到对象存储 - `path`参数指定S3存储桶内的路径 - `acl`支持`private/public-read`等AWS权限策略 - **文件系统**:适用于NFS/GlusterFS等共享存储 - 路径需对所有ClickHouse节点可见 4. **API配置** - 启用后可通过`curl -X GET http://api_user:api_password@host:7171/backup/list`管理备份 - 生产环境启用HTTPS时需补充配置TLS证书 5. **备份策略** - `retention.days``retention.copies`可同时生效(满足任一条件即删除) - `schedule`使用标准cron表达式配置自动清理任务 6. **表过滤规则** - 支持正则表达式匹配(如`db*.table?`) - 排除`system`等系统表可显著减少备份大小 - 多层过滤时优先处理`exclude`规则 ### 最佳实践建议 1. **存储选择**: - 小规模部署:使用NFS共享存储 - 云环境:直接使用S3/Azure Blob存储 - 混合云:本地缓存+云存储分层(需定制脚本) 2. **性能优化**: ```yaml clickhouse: compression_format: "zstd" # 高压缩比 compression_level: 3 # 平衡CPU/压缩率 general: max_backup_workers: 4 # 并行备份线程数(需≥v1.1.0) ``` 3. **安全配置**: - 使用`chmod 600 clickhouse-backup.yml`限制配置文件权限 - 通过ClickHouse的[用户角色](https://clickhouse.com/docs/en/operations/access-rights)限制备份账户权限 - S3访问密钥使用IAM临时凭证(STS) 4. **监控集成**: ```bash # 检查最后一次备份状态 clickhouse-backup list --latest | grep Status ``` > 注意:修改配置后需重启`clickhouse-backup`服务生效。完整文档参考[官方配置说明](https://github.com/Altinity/clickhouse-backup#configuration)[^1]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值