---
title: "创建用户租户 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: 创建用户租户 OceanBase 数据库面向多租户设计。 在一个大集群中，您可以创建很多租户，不同的部门使用不同的租户。租户和租户之间资源已经进行了隔离，保障了相互之间访问不受影响，类似于数据库中的实例。 背景信息 MySQL 是一个单租户的模式，所有用户在一套资源池下进行使用，这可能会导致一种故障。当用户负载非常高…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# 创建用户租户

更新时间：2024-07-25 11:46:50

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/200.administrator-guide/200.basic-database-management/400.manage-tenants/300.create-a-user-tenant.md)  

OceanBase 数据库面向多租户设计。 在一个大集群中，您可以创建很多租户，不同的部门使用不同的租户。租户和租户之间资源已经进行了隔离，保障了相互之间访问不受影响，类似于数据库中的实例。

## 背景信息

MySQL 是一个单租户的模式，所有用户在一套资源池下进行使用，这可能会导致一种故障。当用户负载非常高时，应用将用尽数据库的所有资源，导致数据库管理员无法连接数据库，也无法执行一些高优先级的控制命令。例如无法执行 kill 命令“杀死”超时的查询，或者一些管理平台也无法连接到数据库等。

OceanBase 数据库默认会自动创建 sys 租户，sys 租户负责一部分 OceanBase 数据库的管理工作，并且能够访问系统元数据表，sys 自动预留了一定的资源。

## 创建租户

1. 使用系统租户的 root 用户（`root@sys`）连接 OceanBase 数据库。如下所示，您可使用 OBClient 或 MySQL 客户端进行连接：

   ```bash
   obclient -hxxxx -uroot@sys -P${port_num} -p****** -Doceanbase -A
   # 或
   mysql -hxxxx -uroot@sys -P${port_num} -p****** -Doceanbase -A

   ```

   OBClient 的详细信息，请参考 [OBClient 文档](https://github.com/oceanbase/obclient/blob/master/README.md)。

   #### 注意

   只有 `root@sys` 用户拥有创建租户的权限。
 2. 查询集群内各 Server 的资源占用情况，例如：

   ```sql
   obclient> SELECT * FROM oceanbase.GV$OB_SERVERS;
   +-----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
   | SVR_IP          | SVR_PORT | ZONE  | SQL_PORT | CPU_CAPACITY | CPU_CAPACITY_MAX | CPU_ASSIGNED | CPU_ASSIGNED_MAX | MEM_CAPACITY | MEM_ASSIGNED | LOG_DISK_CAPACITY | LOG_DISK_ASSIGNED | LOG_DISK_IN_USE | DATA_DISK_CAPACITY | DATA_DISK_IN_USE | DATA_DISK_HEALTH_STATUS | MEMORY_LIMIT | DATA_DISK_ABNORMAL_TIME | SSL_CERT_EXPIRED_TIME |
   +-----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
   | 172.xxx.xxx.228 |     2882 | zone1 |     2881 |            8 |                8 |            1 |                1 |  10737418240 |   2684354560 |        5368709120 |        2684354560 |       134217728 |        10737418240 |        83886080  | NORMAL                  |  17179869184 | NULL                    | NULL                  |
   +-----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
   | 172.xxx.xxx.229 |     2882 | zone2 |     2881 |            8 |                8 |            1 |                1 |  10737418240 |   2684354560 |        5368709120 |        2684354560 |       134217728 |        10737418240 |        83886080  | NORMAL                  |  17179869184 | NULL                    | NULL                  |
   +-----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
   | 172.xxx.xxx.230 |     2882 | zone3 |     2881 |            8 |                8 |            1 |                1 |  10737418240 |   2684354560 |        5368709120 |        2684354560 |       134217728 |        10737418240 |        83886080  | NORMAL                  |  17179869184 | NULL                    | NULL                  |
   +-----------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
   3 row in set

   ```
 3. 查询集群内各租户的资源分配情况，例如：

   ```sql
   obclient> SELECT * FROM oceanbase.GV$OB_UNITS;
   +-----------------+----------+---------+-----------+-------+---------+---------+-------------+----------+----------+-------------+---------------+-----------------+------------------+--------+----------------------------+
   | SVR_IP          | SVR_PORT | UNIT_ID | TENANT_ID | ZONE  | MAX_CPU | MIN_CPU | MEMORY_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT | LOG_DISK_SIZE | LOG_DISK_IN_USE | DATA_DISK_IN_USE | STATUS | CREATE_TIME                |
   +-----------------+----------+---------+-----------+-------+---------+---------+-------------+----------+----------+-------------+---------------+-----------------+------------------+--------+----------------------------+
   | 172.xxx.xxx.228 |     2882 |       1 |         1 | zone1 |       1 |       1 |  2684354560 |    10000 |    10000 |           1 |    2684354560 |        85075438 |        83886080  | NORMAL | 2022-11-08 14:24:01.960562 |
   | 172.xxx.xxx.229 |     2882 |       1 |         1 | zone2 |       1 |       1 |  2684354560 |    10000 |    10000 |           1 |    2684354560 |        85075438 |        83886080  | NORMAL | 2022-11-08 14:24:01.960562 |
   | 172.xxx.xxx.230 |     2882 |       1 |         1 | zone3 |       1 |       1 |  2684354560 |    10000 |    10000 |           1 |    2684354560 |        85075438 |        83886080  | NORMAL | 2022-11-08 14:24:01.960562 |
   +-----------------+----------+---------+-----------+-------+---------+---------+-------------+----------+----------+-------------+---------------+-----------------+------------------+--------+----------------------------+
   3 row in set

   ```
 4. 创建资源单元。

   ```sql
   obclient> CREATE RESOURCE UNIT unit1
      max_cpu = 1,
      min_cpu = 1,
      memory_size = 2684354560,
      max_iops = 10000,
      min_iops = 10000,
      iops_weight = 1,
      log_disk_size = 2684354560;

   ```

   创建资源单元的 SQL 语句详细介绍请参考 [创建资源单元](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699430)。
 5. 创建资源池。

   ```sql
   obclient> CREATE RESOURCE POOL pool1
      UNIT = 'unit1',
      UNIT_NUM = 1,
      ZONE_LIST = ('zone1','zone2','zone3');

   ```

   其中：

      - `UNIT_NUM` 表示在集群的一个 Zone 里面包含的资源单元个数。该值小于等于一个 Zone 中 OBServer 节点的个数。
      - `ZONE_LIST` 表示资源池的 Zone 列表，显示该资源池的资源在哪些 Zone 中被使用。
      - 如果在某个 Zone 内找不到足够剩余资源的机器来创建资源单元，资源池会创建失败。

   有关该 SQL 语句的详细信息，请参考 [创建资源池](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699432)。
 6. 创建租户。

   ```sql
   obclient> CREATE TENANT IF NOT EXISTS tenant1
      charset='utf8mb4',
      comment 'mysql tenant/instance',
      primary_zone='RANDOM',
      resource_pool_list = ('pool1') set ob_tcp_invited_nodes = '%';

   ```

   有关该 SQL 语句的详细信息，请参考 [新建租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001702214)。
 7. 修改密码

   使用新创建租户的 root 用户（`root@tenant1`）连接 OceanBase 数据库，之后您需执行如下命令为 root 用户创建密码：

   ```sql
   # 使用 root@tenant1 连接 OceanBase 数据库
   obclient -hxx.xx.xx.xx -uroot@tenant1 -P${port_num} -p****** -Doceanbase -A

   # 修改密码
   obclient> ALTER USER username IDENTIFIED BY '********';
   # 举例如下
   obclient> ALTER USER root IDENTIFIED BY '********';

   ```

   命令详细介绍请参考 [修改用户密码](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001701498)。

## 创建用户

首次使用新租户连接 OceanBase 数据库时，您必须使用 `root` 用户。成功连接后，您可执行如下命令创建新用户连接 OceanBase 数据库。

```sql
obclient> CREATE USER IF NOT EXISTS test IDENTIFIED BY '******';

```

详细信息请参考 [创建用户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001702803)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
