当前位置: 首页 > ds >正文

OceanBase数据库-学习笔记5-用户

用户相关命令

命令描述
CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;创建用户。
GRANT ALL PRIVILEGES ON database_name.* TO ‘test_user’@‘%’;给用户授权所有权限。
GRANT SELECT, INSERT, UPDATE ON database_name.* TO ‘test_user’@‘%’;给用户授权指定权限。
SHOW GRANTS FOR ‘test_user’@‘%’;查看用户权限。
DROP USER ‘test_user’@‘%’;删除用户。

1. 创建用户

  • Sql: CREATE USER 'username'@'host' IDENTIFIED BY 'password';

    • username:要创建的用户名。
    • host:允许用户连接的主机。可以使用 % 表示允许从任意主机连接,或者指定具体的 IP 地址或主机名。
    • password:用户的密码。
  • 案例:创建用户fenghx,并只允许该用户从本地访问数据库

obclient [oceanbase]> CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.206 sec)obclient [oceanbase]>

2. 为用户授予权限

创建用户后,通常需要为用户授予权限。可以使用 GRANT 语句为用户授予权限。

授予所有权限
  • Sql: GRANT ALL PRIVILEGES ON database_name.* TO 'test_user'@'%';FLUSH PRIVILEGES;
    • 将 database_name 替换为具体的数据库名称。
    • ALL PRIVILEGES 表示授予所有权限。
    • FLUSH PRIVILEGES 用于刷新权限,使更改立即生效。
授予特定权限
  • Sql: GRANT SELECT, INSERT, UPDATE ON database_name.* TO 'test_user'@'%';FLUSH PRIVILEGES;
    • 授予用户 SELECT、INSERT 和 UPDATE 权限。
查看用户权限

创建用户并授予权限后,可以通过以下 SQL 查询查看用户的权限。

  • Sql: SHOW GRANTS FOR 'test_user'@'%';
    • 该查询会返回用户 test_user 的权限信息。

9. 删除用户

如果需要删除用户,可以使用 DROP USER 语句。

  • DROP USER 'test_user'@'%';

其他

1. 查询当前用户返回root@%,这个%符号是什么意思

obclient [oceanbase]> select CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| root@%         |
+----------------+
1 row in set (0.001 sec)obclient [oceanbase]>

在数据库(如 MySQL、OceanBase 等)中,root@% 表示一个用户名为 root 的用户,且其访问权限适用于 所有主机(即 % 是通配符,表示任意主机)。

1. root@% 的含义

  • root:用户名。
  • %:主机名通配符,表示允许从任何主机连接到数据库。

例如:

  • root@% 表示用户 root 可以从任何主机连接到数据库。
  • root@localhost 表示用户 root 只能从本地主机(localhost)连接到数据库。
  • root@192.168.1.100 表示用户 root 只能从 IP 地址为 192.168.1.100 的主机连接到数据库。

2. 为什么需要 % 通配符?

在数据库权限管理中,用户权限通常与用户名和主机名绑定。% 通配符的作用是允许用户从任意主机访问数据库,这在以下场景中非常有用:

  • 远程访问数据库。
  • 在分布式系统中,多个节点需要连接到同一个数据库。

2. 查看用户登录权限

在 MySQL 或 OceanBase 中,可以通过以下 SQL 查询查看用户及其主机权限:

  • 查询用户权限

SELECT user, host FROM mysql.user; # 该查询会返回所有用户及其允许访问的主机。

obclient [oceanbase]> SELECT user, host FROM mysql.user;
+-------------+------+
| user        | host |
+-------------+------+
| root        | %    |
| proxyro     | %    |
| ocp_monitor | %    |
+-------------+------+
3 rows in set (0.008 sec)obclient [oceanbase]>

以上就是本次的分享,感谢阅读。

上一章:《OceanBase数据库-学习笔记4-租户》
下一章:《OceanBase数据库-学习笔记6-查询小技巧》

http://www.xdnf.cn/news/2987.html

相关文章:

  • 《系统分析师-第三阶段—总结(七)》
  • C++入门(缺省参数/函数/引用)
  • 组件轮播与样式结构重用实验
  • Linux《进程概念(中)》
  • 在Arduino U8g2库中显示中文的方法
  • 「Mac畅玩AIGC与多模态06」开发篇02 - 开发第一个知识库问答应用
  • 电流探头的创新应用与霍尔效应原理
  • word文档插入公式后行距变大怎么办?
  • 大模型入门
  • 码蹄集——进制输出、求最大公约数、最小公倍数
  • 【时时三省】(C语言基础)循环结构程序设计习题2
  • 如何从大规模点集中筛选出距离不小于指定值的点
  • C语言-指针(一)
  • 【网络编程】协议和分层
  • 解决leensa无法使用的办法:平替教程
  • 编译原理:由浅入深从语法树到文法类型
  • 使用Python对接StockTV印度股票数据源的详细教程
  • MiniLLM:大型语言模型的知识蒸馏
  • InnoDB对LRU算法的优化
  • 哪些CAD看图软件适合初学者使用?
  • Jackson 使用方法详解
  • Starrocks导入数据时报错too many versions
  • 网络安全之红队LLM的大模型自动化越狱
  • RAG当知识库非常大导致大语言模型不准确,该如何处理
  • 通过langchain访问大模型并实现简单的查询
  • 操作系统——第四章(文件管理与文件的逻辑结构)
  • power bi获取局域网内共享文件
  • arm设备树基础知识
  • “专精特新”中小企业数字化转型呈现 4 大转型特征
  • 同步时钟与异步时钟