当前位置:网站首页>【clickhouse专栏】新建库、用户及角色
【clickhouse专栏】新建库、用户及角色
2022-06-11 16:38:00 【字母哥哥】
一、创建新的database
clickhouse创建数据库的语法几乎和其他的关系型数据库是一样的,区别就是clickhouse存在集群cluster和库引擎engine的概念,可以根据需要进行指定。如果没有特殊需求,默认即可。
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(...)]
在创建数据库的时候,我们首先要确认保存数据库文件的目录,对于clickhouse用户有读写的权限。如果你在安装的时候,没有修改数据库文件目录,默认的目录是/var/lib/clickhouse/。我们可以使用下面的命令,将该目录及其子目录的属主修改为clickhouse用户。
chown clickhouse /var/lib/clickhouse/ -R
完成上面的操作步骤之后,就可以通过clickhouse-client -m --password <你的密码>连接clichouse服务实例,创建数据库的SQL如下:
:) CREATE DATABASE acaidb;
创建数据库完成之后,使用show databases;命令看一下当前的clickhouse,有哪些database。(acaidb是我们自建的,default和system是clickhouse默认创建的database)
:) show databases;
┌─name────┐
│ acaidb │
│ default │
│ system │
└─────────┘
二、为default账户增加管理权限
ClickHouse默认创建一个数据库default,默认创建了一个用户default。我们现在针对default用户增加访问管理权限,因为该用户默认情况下是不具备管理员权限的,即:默认情况下,无法使用该用户添加角色、添加用户、以及其他权限管理操作。
所以为了让default用户的管理权限更大一些,我们修改 /etc/clickhouse-server/users.xml 文件,在users-> default标签中,将access_management的注释去掉。(在有些版本中其默认值是0,修改为1)
修改完成配置文件之后,重启clickhouse-server,使用如下命令:
clickhouse restart
三、创建角色及用户
创建角色
创建一个角色acaidb_rw, 该角色针对数据库acaidb具备读写权限。
CREATE ROLE acaidb_rw;
GRANT SELECT, INSERT, ALTER UPDATE, ALTER DELETE ON acaidb.* TO acaidb_rw;
如果让一个角色只允许select,不允许修改数据,下面的语句就可以。
CREATE ROLE acaidb_read;
GRANT SELECT ON acaidb.* TO acaidb_read;
创建普通账户并赋权
我们分别创建账户reader和writer,然后把只读角色ro分配给reader,把读写角色分配给writer。这样,reader拥有只读权限,writer拥有读写权限。新建一个数据库用户acai,并设置密码(将下文的<你的密码>替换)。并给用户acai赋予读写权限角色acaidb_rw 。
CREATE USER IF NOT EXISTS acai IDENTIFIED WITH sha256_password BY '<你的密码>';
GRANT acaidb_rw TO acai;
使用下列命令访问clickhouse数据,show databases得到acaidb,说明我们成功了。因为acai用户只能访问acaidb。
# clickhouse-client -m -u acai --password '<你的密码>' --query 'show databases;'
acaidb
推荐阅读
边栏推荐
- leetcode684. Redundant connection (medium)
- 利用 MATLAB 和 DCRAW 处理数码相机 RAW 文件的完整流程
- 笔记本连接外部键盘后,如何把笔记本自身的键盘禁用
- 【opencvsharp】斑点检测 条码解码 图像操作 图像旋转/翻转/缩放 透视变换 图像显示控件 demo笔记
- Enterprise purchase, sales and inventory management system based on SSM framework [source code + database + design]
- 如何把树结构存储到数据库
- Go quick start of go language (I): the first go program
- 7个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
- web安全-靶场笔记
- R1 Quick Open Pressure Vessel Operation test Library and Simulation Test in 2022
猜你喜欢

leetcode684. Redundant connection (medium)

^31原型面试题
![[sword finger offer] 21 Adjust array order so that odd numbers precede even numbers](/img/ba/8fa84520bacbc56ce7cbe02ee696c8.png)
[sword finger offer] 21 Adjust array order so that odd numbers precede even numbers

A team of heavyweights came to the "digital transformation" arena of CLP Jinxin ice and snow sports

Regression prediction | realization of RBF RBF neural network with multiple inputs and single output by MATLAB

所见即所得的 markdown 编辑器:Typora

数据库全量SQL分析与审计系统性能优化之旅

Opencv相机标定之圆形标识点中心检测

Zhenxiang, Huawei gives n+1 for voluntary resignation

Analysis of time complexity and space complexity
随机推荐
Persistence mechanism of redis
利用 MATLAB 和 DCRAW 处理数码相机 RAW 文件的完整流程
微服务连接云端Sentinel 控制台失败及连接成功后出现链路空白问题(已解决)
Wechat applet timestamp conversion time format + time subtraction
Analysis report on future development trend and investment suggestions of global and Chinese soybean protein industry 2022-2028
【opencvsharp】opencvsharp_samples.core示例代码笔记
C starts an external EXE file and passes in parameters
Customized thread communication (lock) of JUC
面试高频算法题---最长回文子串
[sword finger offer] 22 The penultimate node in the linked list
Differences between list and set access elements
Operation guide | how to select a collector on moonbeam and Moonriver
7个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
Leetcode 1974. Minimum time to type words using a special typewriter (yes, once)
2022 safety officer-a certificate test question simulation test question bank simulation test platform operation
C# 启动一个外部exe文件,并传入参数
[ISITDTU 2019]EasyPHP
Laravel listening mode
Switching power supply circuit diagram and principle 12V analysis - detailed version
Drug evaluation index