KaiwuDBKaiwuDB

KWDB 创作者计划 | KWDB 数据库用户管理操作

2025-05-21

原文链接:【KWDB 创作者计划】KWDB数据库用户管理操作 - OSCHINA - 中文开源技术交流社区

作者:kirkWang


全面解析 Coco AI,一款开源、免费的智能搜索与知识库工具 

前言

在数据驱动时代,数据库的安全高效管理对企业和组织至关重要。KWDB 作为面向 AIoT 场景的分布式多模数据库,自 2.2.0 版本上线后,我们已深入了解其基本操作与特性。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图1)

不过,数据库安全管理不仅是数据存储查询,用户管理也极为关键。合理的用户管理可保障数据库安全,防止数据泄露,还能提高使用效率。通过精细划分用户角色、合理分配权限,能降低安全风险。

本文将结合官网文档,深入探讨 KWDB 数据库的用户管理操作,涵盖用户创建、角色设置等内容,为大家提供完整解决方案,提升数据库安全性与管理效率,开启探索之旅。

KWDB 用户管理

添加用户方案 1

KWDB 支持管理用户权限,确保关键、重要功能、数据的安全性。此外,KWDB 也支持为用户定制管理权限,在我们下载的安装包里就有一个 add_user.sh 文件用户添加初始的用户。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图2)

运行 add_user.sh(这里我 pwd 我设置成了 Abcd1234,存这里方便记忆)

KWDB 创作者计划 | KWDB 数据库用户管理操作(图3)

可以看到,我们这里需要给出两个参数:user_name 与 password 截图上呈现的是 user_name 这里 pwd 是隐藏的,无法看到。

查看用户

可以直接 show users; 来展示所有用户。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图4)

也可以进入数据库后我们可以直接 use system ,也就是切换到系统数据库,在系统数据库内有 users 表,我们用 select 语句直接查询即可看到所有的用户信息,这里的加密方式是 hash 加密的。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图5)

添加用户方案 2

使用命令来添加用户,这里我使用的是 create 语句添加了一位 superboy 的用户,这里

create user superboy with password 'Abcd1234';

下图中可以看到,是添加成了的。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图6)

注:这里不能直接使用 insert 语句来操作,是无法正确添加的。

刷新权限

我留一个刷新权限操作,这是我在群里面看他们发的,与 MySQL 的差别还是很大的。

grant admin to superboy;

grant admin to teacher;

都刷新一下权限就能正常的登录操作了。

create 操作参数列表

语法:

CREATE USER [IF NOT EXISTS] <name> [WITH] [CREATEROLE | NOCREATEROLE | LOGIN | NOLOGIN | <password_clause> | <valid_until_clause>];

在下面的表里面我们就能看到整个的操作逻辑了。

| 参数 | 说明 | | -------------------- | ------------------------------------------------------------ | | IF NOT EXISTS | 可选关键字。当使用 IF NOT EXISTS 关键字时,如果目标用户不存在,系统创建目标用户。如果目标用户存在,系统创建用户失败,但不会报错。当未使用 IF NOT EXISTS 关键字时,如果目标用户不存在,系统创建用户。如果目标用户存在,系统报错,提示目标用户已存在。 | | name | 待创建的用户名。用户名不区分大小写,必须以字母或下划线(_)开头,只支持字母,数字或下划线(_),长度为 1 - 63 个字符。 | | CREATEROLE | 创建角色。设置该选项的用户可以创建、修改、删除其他用户或角色。默认情况下,创建用户时不设置该选项。 | | NOCREATEROLE | 创建用户时的默认选项,表示禁止创建角色。 | | LOGIN | 创建用户时的默认选项,表示用户可以登录 KWDB 服务器。 | | NOLOGIN | 禁止登录 KWDB 服务器。默认情况下,创建用户时不设置该选项。 | | password_clause | 设置用户密码。格式为 PASSWORD <string_or_placeholder>,也支持使用 NULL 值。设置该选项的用户可以使用密码安全访问节点。密码必须采用字符串的形式,并使用单引号(')将密码括起来。默认情况下,创建用户时不设置该选项。 | | valid_until_clause | 设置密码有效期,格式为 VALID UNTIL <string_or_placeholder>,也支持使用 NULL 值。支持 timestamp 格式。到达指定日期或时间后,密码失效。设置时需使用单引号(')将密码有效期括起来。默认情况下,创建用户时不设置该选项。 |

创建不可以登录的用户

CREATE USER cannot WITH NOLOGIN;

查看是否创建成功,但是在 options 下面的属性值是 NOLOGIN 代表无法进行登录操作。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图7)

删除用户操作

drop USER 语句用于删除用户。

具体语法:

drop USER [IF EXISTS] ;

实操测试:

drop user cannot;

KWDB 创作者计划 | KWDB 数据库用户管理操作(图8)

查看是否删除成功:

KWDB 创作者计划 | KWDB 数据库用户管理操作(图9)

确认已经删除成功了。

使用 KDC 可视化工具连接测试

KaiwuDB 有自己的可视化工具,可以直接进行连接操作。

下载地址:https://gitee.com/kwdb/kwdb/releases/tag/V2.2.0

KWDB 创作者计划 | KWDB 数据库用户管理操作(图10)

下载完毕解压进入到对一个文件夹,点击应用文件即可。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图11)

由于没有自动发送到桌面快捷方式,这里建议自己在桌面上发一个快捷方式,以便后面的访问操作。

登录操作很直接的,在常规中添加服务器的 IP 地址,同时我们需要注意的是端口号为 26257,我们需要在安全组里面单独添加上,这样来保障我们的端口是可以连接的,添加的时候把 Web 的 8080 端口号也添加上。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图12)

测试了 teacher 的,在测试一下 superboy 的,确认两个用户都是没有问题的。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图13)

修改密码操作

我们操作修改密码这里不能使用 update 语句,需要使用下面这个。

alter role root with password 'yourpwd';

我们来测试修改 superboy 的 pwd 试试。

alter role superboy with password 'aBcd1234';

可以看到 superboy 与 teacher 的密码不同了。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图14)

那么登录测试一下。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图15)

登录成功,没有任何为题,说明还是很靠谱的操作呢。

KDC 操作面板

登录后我们看到关系数据库与时序数据库是分开的,这也方便我们操作。

KWDB 创作者计划 | KWDB 数据库用户管理操作(图16)

总结

在数据驱动时代,合理的用户管理对 KWDB 数据库安全高效运行至关重要,可保障数据安全、防止泄露并提高使用效率。用户操作是每位 DBA 必然需要具备的技能,本文对于 KWDB 数据库用户的各类操作提供了一个比较完整的示例,希望能给到大家一定的帮助。

KWDB 开源库地址:https://gitee.com/kwdb/kwdb

KWDB 学习地址:https://www.kaiwudb.com/learning/

KWDB 活动地址:https://mp.weixin.qq.com/s/ZKQo7eQj_AtwamONCSl07A

希望本文能为大家带来一些价值,欢迎留言讨论。


体验全新的分布式多模数据库解决方案

企业版 社区版

KaiwuDB 是浪潮控股的数据库企业,面向工业物联网、数字能源、车联网、智慧产业等行业领域,提供稳定安全、高性能、易运维的创新数据软件与服务。

关注官方微信

友情链接:浪潮  

© 上海沄熹科技有限公司 Shanghai Yunxi Technology Co., Ltd.    沪ICP备2023002175号-1    网站服务协议   |   隐私政策
400-624-5688-7
服务与支持
marketing@kaiwudb.org.cn