ClickHouse新特性之SQL化使用者配置

2021-10-24 09:16:09 字數 2049 閱讀 5766

friday night,寫篇超短文吧。

在之前的clickhouse版本中,我們只能通過修改users.xml檔案來配置使用者及相關的引數(許可權、資源限制、查詢配額等),不是很方便。好在從20.5版本起,clickhouse開始支援sql化的使用者配置(如同mysql、postgresql一樣),易用性增強了很多。

sql化使用者配置預設是關閉的,要啟用它,需要在users.xml中的乙個使用者(一般就是預設的default)下新增:

1
另外還需要在config.xml中配置許可權管理資料的儲存位置:

/data1/clickhouse/access/
這樣我們就可以用default使用者管理其他使用者了。clickhouse採用與mysql近似的rbac(role-based access control,基於角色的訪問控制)機制,所以語法也很像。下面簡要列舉幾個操作,更加詳細的內容可以參見官方文件:

create settings profile low_mem_readonly

settings max_threads = 4, max_memory_usage = 4000000000

readonly;

create role accountant settings profile 'low_mem_readonly';

grant select on account_db.* to accountant;

create user lmagic@'192.168.%.%' 

identified with sha256_password by 'lm2020'

default role accountant;

grant optimize on datasets.hits_v1 to lmagic@'192.168.%.%';

觀察上面設定的access_control_path目錄,可以發現建立的使用者配置都被儲存了下來。

-rw-r----- 1 clickhouse clickhouse 135 sep  4 21:51 034f455a-aeec-f9d0-3f76-b026318de1bd.sql

-rw-r----- 1 clickhouse clickhouse 107 sep 4 21:45 934198fc-bd87-90bb-2062-f0c165f54cae.sql

-rw-r----- 1 clickhouse clickhouse 293 sep 4 21:58 b643aee4-c4d4-5dd8-2e63-2dd13bf42e90.sql

-rw-r----- 1 clickhouse clickhouse 1 aug 23 01:14 quotas.list

-rw-r----- 1 clickhouse clickhouse 48 sep 4 21:52 roles.list

-rw-r----- 1 clickhouse clickhouse 1 aug 23 01:14 row_policies.list

-rw-r----- 1 clickhouse clickhouse 54 sep 4 21:46 settings_profiles.list

-rw-r----- 1 clickhouse clickhouse 56 sep 4 21:59 users.list

如果需要更改使用者配置,使用alter、drop、revoke語法即可。例如:

alter user lmagic@'192.168.%.%'

rename to lmagic@'%'

identified with sha256_password by 'lm2021';

drop settings profile low_mem_readonly;
revoke optimize on datasets.hits_v1 from lmagic@'%';
就醬吧,民那晚安晚安。

socket新特性之SO REUSEPORT

翻譯原文 linux kernel 3.9中合併了tcp udp的so reuseport特性。允許多個程序 或者執行緒 繫結同乙個埠 int sfd socket domain,socktype,0 int optval 1 setsockopt sfd,sol socket,so reusepo...

JavaSE JavaSE之新特性概述

1.lambda函式式程式設計 2.可變引數 傳遞多類引數 3.自定義異常類 4.萬用字元?extends 類,super 類的示例 1.lambda函式式程式設計 functionalinte ce inte ce imessage public class test message.fun 2....

JavaSE 之新特性概述

目錄 1.列舉 2.註解 3.lambda表示式 4.方法引用 首先回顧多例設計模式的特點 構造方法私有化,類內部需要提供若干個例項化物件,後面通過static方法返回。例 class color public static color getcolor int flag override publ...