直接使用root登录跟使用租户登录有什么区别吗

【 使用环境 】 测试环境
【 OB or 其他组件 】ob
【 使用版本 】
【问题描述】obd安装的 直接使用 root登录没有填写租户什么的然后创建了数据库表,目前也不会用到多租户数据隔离什么的 ,这样使用跟创建租户有什么不一样么
obclient -h172.16.110.123 -P2881 -uroot -p’12345678’ -A

【复现路径】
【附件及日志】
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

直接使用 root 登录系统租户与使用租户登录在 OceanBase 数据库中有明显的区别:

  1. 权限范围root 用户是系统租户的管理员,拥有整个系统的最高权限,能够执行包括但不限于创建其他租户、管理集群配置、执行系统级操作等任务 [1], [2]. 而普通租户的 root 用户仅能管理所属租户内的资源,如创建数据库、表、用户等,不能执行系统级别的操作。

  2. 数据隔离:使用 root 登录系统租户,您将处于系统租户的上下文中,任何在此上下文中创建的对象(如数据库表)都将属于系统租户。而当您在一个特定的用户租户中登录时,您所创建的所有对象都会归属于该租户,从而实现了数据的逻辑隔离 [2], [6]. 根据您的描述,如果您不打算使用多租户的数据隔离特性,那么直接使用 root 登录可能更简单直接。

  3. 兼容模式:系统租户默认兼容 MySQL 模式,而用户可以根据需求创建 MySQL 或 Oracle 兼容模式的租户 [2]. 如果您只需要 MySQL 兼容模式的功能,那么直接使用 root 登录可能已经足够满足您的需求。

  4. 资源管理:每个用户租户都可以独立配置资源池和副本策略,实现资源的精细化管理。而系统租户主要用于集群管理和维护,不建议在其上运行业务应用 [5]. 如果您的应用场景不需要特别的资源隔离或管理策略,直接使用 root 登录可能不会带来太大影响。

综上所述,如果您当前的应用场景比较简单,不需要多租户带来的数据隔离和资源管理能力,那么直接使用 root 登录系统租户进行开发和测试是可以接受的。但是随着业务的发展,为了更好地管理和隔离数据,推荐创建用户租户来进行业务数据的操作。

检索到的文档如下:

  1. 用户和权限概述
  2. 登录 OceanBase 租户
  3. CURRENT_USER
  4. 租户类型
  5. 单机在线转分布式部署
  6. 租户介绍
  7. 创建 Python 示例应用程序
  8. 创建 Java 示例应用程序

这个命令等价于
obclient -h172.16.110.123 -P2881 -uroot@sys -p’12345678’ -A

也就是默认登陆的是sys租户,登陆其它租户要带上租户名称

要新建个用户租户,在用户租户下面使用。不要在sys租户下面建表。有很多限制。