OceanBase数据库支持对租户的锁定。租户锁定后,不影响已连接租户的应用,新应用无法连接租户。
使用root用户连接sys租户
[root]# mysql -h192.168.1.71 -P2883 -D oceanbase -uroot@sys -pOceanBase010 -c -A
查看租户信息
mysql> select * from dba_ob_tenants;
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME | MODIFY_TIME | PRIMARY_ZONE | LOCALITY | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+
| 1 | sys | SYS | 2023-04-24 18:33:06.821930 | 2023-05-09 09:28:07.989177 | RANDOM | FULL{1}@zone1, FULL{1}@zone2 | NULL | MYSQL | NORMAL | NO | NO |
| 1003 | META$1004 | META | 2023-04-25 16:54:07.990306 | 2023-05-10 15:29:00.135387 | zone1;zone2 | FULL{1}@zone1, FULL{1}@zone2 | NULL | MYSQL | NORMAL | NO | NO |
| 1004 | my_tenant | USER | 2023-04-25 16:54:07.991849 | 2023-05-10 15:29:00.123178 | zone1;zone2 | FULL{1}@zone1, FULL{1}@zone2 | NULL | MYSQL | NORMAL | NO | NO |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+------------------------------+-------------------+--------------------+--------+---------------+--------+
锁定my_tenant租户
mysql> alter tenant my_tenant lock;
Query OK, 0 rows affected (0.23 sec)
查看租户信息,此时my_tenant租户LOCKED值处于“YES”(被锁定状态)
mysql> select TENANT_NAME,LOCKED from dba_ob_tenants where TENANT_NAME='my_tenant';
+-------------+--------+
| TENANT_NAME | LOCKED |
+-------------+--------+
| my_tenant | YES |
+-------------+--------+
新建连接,连接my_tenant租户,会报错my_tenant被锁定
[root]# mysql -h 192.168.1.71 -P 2883 -uroot@my_tenant -pOceanBase010 -A
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 5260 (HY000): Tenant 'my_tenant' is locked
解锁my_tenant租户
mysql> alter tenant my_tenant unlock;
Query OK, 0 rows affected (0.19 sec)
查看租户信息,此时my_tenant租户LOCKED值为“NO”
mysql> select TENANT_NAME,LOCKED from dba_ob_tenants where TENANT_NAME='my_tenant';
+-------------+--------+
| TENANT_NAME | LOCKED |
+-------------+--------+
| my_tenant | NO |
+-------------+--------+
参考:https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001697247
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示