一、为default用户设置密码
在服务器任意路径下执行如下命令,获取密码加密密文
echo -n 123456 | openssl dgst -sha256
sudo vi /etc/clickhouse-server/users.xml
1、取消<access_management>1</access_management>注释
2、设置密码:
密文:<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>
明文:
<password></password>
esc 退出编辑
:wq! 强制保存
注:实时生效
二、创建新的用户
登录数据库
clickhouse-client --password
123456 输入第一步设置的密码
创建用户名为it的账号,并设置密码为123456
create user it identified with sha256_password by '123456' host any;
查询用户
select * from system.users FORMAT Vertical;
三、创建新的角色
创建it角色
create role it;
查看所有角色
show roles;
四、赋权给角色
赋所有权限给it角色
grant all on *.* to it;
赋查看、查询system库所有表的权限给it角色
grant show, select on system.* to it;
赋查看、查询system库users表name字段的权限给it角色
grant show, select(name) on system.users to it;
注:grant 权限(字段1,字段2) on 数据库.表 to 角色;
show grants for 角色名/用户名
查看default用户的权限
show grants for default;
查看it角色的权限
show grants for it;
五、赋角色给用户
将it角色和it用户绑定
grant it to it;
grant 角色名称 to 用户名称
六、资源
查看ClickHouse的所有grant权限
https://clickhouse.com/docs/zh/sql-reference/statements/grant#grant-privileges
本地用户资源存放路径,也就是通过以上方式创建的新用户
/var/lib/clickhouse/access/
/var/lib/clickhouse 是数据存储路径