当前位置:首页 > 大数据 > ClickHouse > 正文内容

clickhouse创建角色和用户

admin12个月前 (01-30)ClickHouse318

clickhouse版本:22.2.2.1

更改default账户权限

ClickHouse提供了一个default账号,这个账号有所有的权限,但是不能使用SQL驱动方式的访问权限和账户管理。我们需要在配置文件中修改default账户,使其能够通过SQL驱动方式添加角色和用户。默认default用户是没有办法创建用户的,这时候需要我们修改配置文件users.xml,便能创建用户了,详见官网

  1. 修改 /etc/clickhouse-server/users.xml 文件,在<users>:<default>标签中,将<access_management></access_management>中的值从0改成1。

<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. 重启clickhouse-server

service clickhouse-server restart

创建管理员

创建管理员账户,并为其分配所有权限。

CREATE USER IF NOT EXISTS admin IDENTIFIED WITH sha256_password BY 'password'GRANT ALL ON *.* TO admin WITH GRANT OPTION

登录管理员账户

假设有一个数据库名为test。接下来,登录管理员账户,然后为test添加读写账户。

clickhouse-client -u admin --password password

创建普通角色

创建只读角色

该角色只能读取test的数据。

CREATE ROLE ro
GRANT SELECT ON test.* TO ro

创建读写角色

该角色可以读写test的数据。

CREATE ROLE rw
GRANT SELECT, INSERT, ALTER UPDATE, ALTER DELETE ON test.* TO rw

创建普通账户

我们分别创建账户reader和writer,然后把只读角色ro分配给reader,把读写角色分配给writer。这样,reader拥有只读权限,writer拥有读写权限。

CREATE USER IF NOT EXISTS reader IDENTIFIED WITH sha256_password BY 'password'
GRANT ro TO reader

CREATE USER IF NOT EXISTS writer IDENTIFIED WITH sha256_password BY 'password'
GRANT rw TO writer

参考资料:ClickHouse中创建用户、数据库并进行权限分配-易微帮 (ewbang.com)

扫描二维码推送至手机访问。

版权声明:本文由大数据技术发布,如需转载请注明出处。

本文链接:http://mllib.cn/?id=9

分享给朋友:

“clickhouse创建角色和用户” 的相关文章

clickhouse通过jdbc实现批量数据导入代码示例

clickhouse通过jdbc实现批量数据导入代码示例

    通过mybatis也可以实现批量写入clickhouse,但是效率太低,每秒大概只能写入300条数据,对于动辄上千万的数据或者更多数据,效率就太低了。而采用jdbc驱动的方式进行批量写入,每秒大约写入数据量达到10000条,效率得到大幅度的提升,只是这...

ClickHouse核心引擎MergeTree解读

ClickHouse核心引擎MergeTree解读

ClickHouse 是俄罗斯最大的搜索引擎Yandex在2016年开源的数据库管理系统(DBMS),主要用于联机分析处理(OLAP)。其采用了面向列的存储方式,性能远超传统面向行的DBMS,近几年受到广泛关注。本文将介绍ClickHouse MergeTree系列表引擎的相关知识,并通过...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。