---
title: "CURRENT_USER - OceanBase 数据库 V4.2.1 | OceanBase 文档中心"
description: CURRENT_USER 声明 CURRENT_USER() 说明 OceanBase 数据库通过用户名与主机名的组合定义登录账户，该函数返回登录账户名称的字符串，使用的字符集为 utf8mb4。 在登录 OceanBase 数据库时，OceanBase 数据库会按用户名与主机名进行匹配，例如，创建两个用户 test…
---
切换语言

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

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

# CURRENT_USER

更新时间：2026-07-15 20:56:55

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/600.information-functions-of-mysql-mode/600.current-user-of-mysql-mode.md)  

## 声明

```sql
CURRENT_USER()

```

## 说明

OceanBase 数据库通过用户名与主机名的组合定义登录账户，该函数返回登录账户名称的字符串，使用的字符集为 utf8mb4。

在登录 OceanBase 数据库时，OceanBase 数据库会按用户名与主机名进行匹配，例如，创建两个用户 `testUser@192.168.%.%` 与 `testUser@192.%.%.%`，则可以在 `mysql.USER` 表中查询到以下用户：

```sql
obclient> SELECT USER,HOST FROM mysql.USER ORDER BY USER,HOST;
+------------+----------------+
| user       | host           |
+------------+----------------+
...
| testUser       | 192.%.%.%      |
| testUser       | 192.168.%.%    |
...
+------------+----------------+

```

在 MySQL 租户中，不同用户名与主机名的组合可以拥有不同的权限，在匹配时也会被识别为不同的用户。例如，您可以为 `testUser@192.168.%.%` 授予 `SELECT` 与 `UPDATE` 权限，为 `testUser@192.%.%.%` 授予 `SELECT` 权限。

```sql
obclient> GRANT SELECT,UPDATE ON *.* TO testUser@192.168.%.% IDENTIFIED BY '******';
obclient> GRANT SELECT ON *.* TO testUser@192.%.%.% IDENTIFIED BY '******';

```

使用 `test` 用户登录到 OceanBase 数据库后，执行 `CURRENT_USER()`。结果如下所示。

```sql
[admin@hostname ~]$ obclient -hxxx.xx.xxx.xxx -Pxxxx -utest***@xxx#xxx -p
obclient> SELECT CURRENT_USER();
+----------------------+
| user()               |
+----------------------+
| testUser@192.168.%.% |
+----------------------+
1 row in set

```

将 `test@192.168.%.%` 删除后，再次使用 `test` 用户连接 OceanBase 数据库，并执行 `CURRENT_USER()`。结果如下所示。

```sql
obclient> DROP USER 'testUser'@'192.168.%.%';
obclient> \q
Bye

[admin@hostname ~]$ obclient -hxxx.xx.xxx.xxx -Pxxxx -utest***@xxx#xxx -p
obclient> SELECT CURRENT_USER();
+----------------------+
| user()               |
+----------------------+
| testUser@192.%.%.%   |
+----------------------+
1 row in set

```

## 示例

查看当前数据库的登录用户。

```sql
obclient> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| root@%         |
+----------------+
1 row in set

```

 上一篇 下一篇 ![有帮助](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) 咨询热线
