1.ClickHouse不像MySQL那样,直接创建用户,而是需要在配置文件里面添加用户
2.用户置文件默认位置:
1
| /etc/clickhouse-server/users.xml
|
users.xml。这里面分几部分。
- 用户名,用户密码,访问来源地址
- 资源限制,和greenplum有点像。
- 配置设置,这其中有用户是否只读。ck目前只有select和insert。所以权限也比较简单。
密码需要特殊说明,如果不写,那么就是空密码,也可以写明文密码,也可以写密文,可以用如下命令生成密文密码:
1 2 3
| # PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-' AwBtorOK 4e588aea92dc77d0960505f6ff5e843eab388c28f1c85fae9df917f89ebb0ed6
|
其中AwBtorOK就是用户的密码,4e588aea92dc77d0960505f6ff5e843eab388c28f1c85fae9df917f89ebb0ed6就是密文,需要写在配置文件里面。
下面是一个例子:
1 2 3 4 5 6 7 8 9
| <dba> <password_sha256_hex>60cd41aedc4e47e8883682b416109e7b7e345e15decc63c2c98ecdab5e8e053a</password_sha256_hex> <networks incl="networks" /> <profile>readonly</profile> <quota>default</quota> <allow_databases> <database>default</database> </allow_databases> </dba>
|
这段的意思就是添加一个dba用户,只读权限,允许访问的数据库是default。来源ip是不限制。这个是配置在/etc/metrika.xml中的。这个配置只是引用而已。
//metrika.xml里的信息
1
| <networks> <ip>::/0</ip> </networks>
|
下面用dba用户登录试试:
clickhouse-client -u dba -h 192.168.0.10 –password mc1lF9cI
可以看见只读模式,权限比较简单,更多的请参考官方文档。或者仔细阅读users.xml。
ps:里面有默认的账户 default 可以参考
参考文档:
https://clickhouse.yandex/reference_en.html#Access%20rights