Skip to content

Commit e9e18ca

Browse files
authored
Merge branch 'main' into translation-ef2a58ea
2 parents d855e33 + 5852c23 commit e9e18ca

File tree

4 files changed

+86
-174
lines changed

4 files changed

+86
-174
lines changed

.translation-init

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Translation initialization: 2025-08-07T01:11:56.293652
1+
Translation initialization: 2025-08-07T01:11:56.293652

docs/cn/developer/00-drivers/index.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,42 @@ Databend 为多种编程语言提供官方驱动,使您能够从应用程序
66

77
## 快速入门
88

9-
1. **选择语言** - 从 Python、Go、Node.js、Java 或 Rust 中选择
10-
2. **获取连接字符串** - 使用下方 DSN 格式
11-
3. **安装并连接** - 参考各驱动的专属文档
9+
1. **选择语言** - 从 Python、Go、Node.js、Java 或 Rust 中选择
10+
2. **获取连接字符串** - 使用下方 DSN 格式
11+
3. **安装并连接** - 遵循各驱动的专属文档
1212

1313
## 连接字符串(DSN)
1414

1515
所有 Databend 驱动均使用统一的 DSN(Data Source Name)格式:
1616

1717
```
18-
databend://user:pass@host[:port]/[database][?sslmode=disable][&arg1=value1]
18+
databend://user:pwd@host[:port]/[database][?sslmode=disable][&arg1=value1]
1919
```
2020

21+
> `user:pwd` 指 Databend 中的 SQL 用户。参见 [CREATE USER](/sql/sql-commands/ddl/user/user-create-user) 创建用户并授予权限。
22+
2123
### 连接示例
2224

23-
| 部署方式 | 连接字符串 |
24-
|------------------|-------------------------------------------------------------|
25-
| **自托管** | `databend://user:pass@host:8000/database?sslmode=disable` |
26-
| **Databend Cloud** | `databend://user:pass@host:443/database?warehouse=wh` |
25+
| 部署方式 | 连接字符串 |
26+
|------------|-------------------|
27+
| **自托管** | `databend://user:pwd@host:8000/database?sslmode=disable` |
28+
| **Databend Cloud** | `databend://user:pwd@host:443/database?warehouse=wh` |
2729

2830
### 参数参考
2931

30-
| 参数 | 描述 | 自托管 | Databend Cloud | 示例 |
31-
|-------------|----------------------------|----------------------|----------------|--------------------------|
32-
| `sslmode` | SSL 模式 | `disable`(必需) | 不使用 | `?sslmode=disable` |
33-
| `warehouse` | Warehouse 名称 | 不使用 | 必需 | `?warehouse=compute_wh` |
32+
| 参数 | 描述 | 自托管 | Databend Cloud | 示例 |
33+
|-----------|-------------|-------------|----------------|----------|
34+
| `sslmode` | SSL 模式 | `disable`(必需) | 不使用 | `?sslmode=disable` |
35+
| `warehouse` | Warehouse 名称 | 不使用 | 必需 | `?warehouse=compute_wh` |
3436

3537
> **Databend Cloud**[获取连接信息 →](/guides/cloud/using-databend-cloud/warehouses#obtaining-connection-information)
3638
3739
## 可用驱动
3840

39-
| 语言 | | 主要特性 |
40-
|------------------------|----------------------------------------|------------------------------------------------------------------------------------------------------|
41-
| **[Python](./python)** | `databend-driver`<br/>`databend-sqlalchemy` | • 同步/异步支持<br/>• SQLAlchemy 方言<br/>• 兼容 PEP 249 |
42-
| **[Go](./golang)** | `databend-go` | • database/sql 接口<br/>• 连接池<br/>• 批量操作 |
43-
| **[Node.js](./nodejs)**| `databend-driver` | • TypeScript 支持<br/>• 基于 Promise 的 API<br/>• 流式结果 |
44-
| **[Java](./jdbc)** | `databend-jdbc` | • 兼容 JDBC 4.0<br/>• 连接池<br/>• 预处理语句 |
45-
| **[Rust](./rust)** | `databend-driver` | • Async/await 支持<br/>• 类型安全查询<br/>• 零拷贝反序列化 |
41+
| 语言 || 主要特性 |
42+
|----------|---------|-------------|
43+
| **[Python](./python)** | `databend-driver`<br/>`databend-sqlalchemy` | • 同步/异步支持<br/>• SQLAlchemy 方言<br/>• 兼容 PEP 249 |
44+
| **[Go](./golang)** | `databend-go` | • database/sql 接口<br/>• 连接池<br/>• 批量操作 |
45+
| **[Node.js](./nodejs)** | `databend-driver` | • TypeScript 支持<br/>• 基于 Promise 的 API<br/>• 流式结果 |
46+
| **[Java](./jdbc)** | `databend-jdbc` | • 兼容 JDBC 4.0<br/>• 连接池<br/>• 预处理语句 |
47+
| **[Rust](./rust)** | `databend-driver` | • Async/await 支持<br/>• 类型安全查询<br/>• 零拷贝反序列化 |

docs/cn/sql-reference/10-sql-commands/00-ddl/02-user/01-user-create-user.md

Lines changed: 62 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -4,194 +4,103 @@ sidebar_position: 1
44
---
55
import FunctionDescription from '@site/src/components/FunctionDescription';
66

7-
<FunctionDescription description="引入或更新于: v1.2.703"/>
7+
<FunctionDescription description="引入或更新于v1.2.703"/>
88

9-
创建 SQL 用户。
9+
创建用于连接 Databend 的 SQL 用户。用户必须被授予适当权限,才能访问数据库并执行操作
1010

11-
另请参阅:
12-
13-
- [CREATE PASSWORD POLICY](../12-password-policy/create-password-policy.md)
14-
- [CREATE NETWORK POLICY](../12-network-policy/ddl-create-policy.md)
15-
- [GRANT](10-grant.md)
11+
另请参阅:
12+
- [GRANT](10-grant.md)
13+
- [ALTER USER](03-user-alter-user.md)
14+
- [DROP USER](02-user-drop-user.md)
1615

1716
## 语法
1817

1918
```sql
2019
CREATE [ OR REPLACE ] USER <name> IDENTIFIED [ WITH <auth_type> ] BY '<password>'
2120
[ WITH MUST_CHANGE_PASSWORD = true | false ]
22-
[ WITH SET PASSWORD POLICY = '<policy_name>' ] -- 设置密码策略
23-
[ WITH SET NETWORK POLICY = '<policy_name>' ] -- 设置网络策略
24-
[ WITH SET WORKLOAD GROUP = '<workload_group_name>' ] -- 设置工作负载组
25-
[ WITH DEFAULT_ROLE = '<role_name>' ] -- 设置默认角色
26-
[ WITH DISABLED = true | false ] -- 用户创建时处于禁用状态
21+
[ WITH SET PASSWORD POLICY = '<policy_name>' ]
22+
[ WITH SET NETWORK POLICY = '<policy_name>' ]
23+
[ WITH DEFAULT_ROLE = '<role_name>' ]
24+
[ WITH DISABLED = true | false ]
2725
```
2826

29-
- `<name>` 不能包含以下非法字符:
30-
- 单引号 (')
31-
- 双引号 (")
32-
- 退格符 (\b)
33-
- 换页符 (\f)
34-
- *auth_type* 可以是 `double_sha1_password` (默认)、`sha256_password``no_password`
35-
-`MUST_CHANGE_PASSWORD` 设置为 `true` 时,新用户必须在首次登录时更改密码。用户可以使用 [ALTER USER](03-user-alter-user.md) 命令更改自己的密码。
36-
- 当您使用 CREATE USER 或 [ALTER USER](03-user-alter-user.md) 为用户设置默认角色时,Databend 不会验证角色是否存在,也不会自动将角色授予用户。您必须显式地将角色授予用户,角色才能生效。
37-
-`DISABLED` 设置为 `true` 时,新用户将以禁用状态创建。处于此状态的用户无法登录 Databend,直到被启用。要启用或禁用已创建的用户,请使用 [ALTER USER](03-user-alter-user.md) 命令。
27+
**参数:**
28+
- `<name>`:用户名(不能包含单引号、双引号、退格符或换页符)
29+
- `<auth_type>`:认证类型 - `double_sha1_password`(默认)、`sha256_password``no_password`
30+
- `MUST_CHANGE_PASSWORD`:为 `true` 时,用户首次登录必须修改密码
31+
- `DEFAULT_ROLE`:设置默认角色(必须先显式授予该角色才能生效)
32+
- `DISABLED`:为 `true` 时,用户创建后即被禁用,无法登录
3833

3934
## 示例
4035

41-
### 示例 1: 使用默认 auth_type 创建用户
42-
43-
```sql
44-
CREATE USER user1 IDENTIFIED BY 'abc123';
45-
46-
SHOW USERS;
47-
+-----------+----------+----------------------+---------------+
48-
| name | hostname | auth_type | is_configured |
49-
+-----------+----------+----------------------+---------------+
50-
| user1 | % | double_sha1_password | NO |
51-
+-----------+----------+----------------------+---------------+
52-
```
53-
54-
### 示例 2: 使用 sha256_password auth_type 创建用户
55-
56-
```sql
57-
CREATE USER user1 IDENTIFIED WITH sha256_password BY 'abc123';
58-
59-
SHOW USERS;
60-
+-----------+----------+----------------------+---------------+
61-
| name | hostname | auth_type | is_configured |
62-
+-----------+----------+----------------------+---------------+
63-
| user1 | % | sha256_password | NO |
64-
+-----------+----------+----------------------+---------------+
65-
```
36+
### 示例 1:创建用户并授予数据库权限
6637

67-
### 示例 3: 创建带有网络策略的用户
38+
创建用户并授予数据库权限:
6839

6940
```sql
70-
CREATE USER user1 IDENTIFIED BY 'abc123' WITH SET NETWORK POLICY='test_policy';
71-
72-
SHOW USERS;
73-
+-----------+----------+----------------------+---------------+
74-
| name | hostname | auth_type | is_configured |
75-
+-----------+----------+----------------------+---------------+
76-
| user1 | % | double_sha1_password | NO |
77-
+-----------+----------+----------------------+---------------+
78-
```
79-
80-
### 示例 4: 创建带有默认角色的用户
81-
82-
1. 创建名为 'user1' 的用户,默认角色设置为 'manager':
83-
84-
```sql title='以用户 "root" 身份连接:'
85-
SHOW ROLES;
86-
87-
┌───────────────────────────────────────────────────────────┐
88-
│ name │ inherited_roles │ is_current │ is_default │
89-
│ String │ UInt64 │ BooleanBoolean
90-
├───────────────┼─────────────────┼────────────┼────────────┤
91-
│ account_admin │ 0 │ true │ true │
92-
│ developer │ 0 │ false │ false │
93-
│ public │ 0 │ false │ false │
94-
└───────────────────────────────────────────────────────────┘
41+
-- 创建新用户
42+
CREATE USER data_analyst IDENTIFIED BY 'secure_password123';
9543

96-
CREATE USER user1 IDENTIFIED BY 'abc123' WITH DEFAULT_ROLE = 'manager';
97-
98-
GRANT ROLE developer TO user1;
44+
-- 授予数据库权限
45+
GRANT SELECT, INSERT ON default.* TO data_analyst;
9946
```
10047

101-
2. 使用 [SHOW ROLES](04-user-show-roles.md) 命令验证用户 "user1" 的默认角色:
102-
103-
```sql title='以用户 "user1" 身份连接:'
104-
eric@Erics-iMac ~ % bendsql --user user1 --password abc123
105-
Welcome to BendSQL 0.9.3-db6b232(2023-10-26T12:36:55.578667000Z).
106-
Connecting to localhost:8000 as user user1.
107-
Connected to DatabendQuery v1.2.271-nightly-0598a77b9c(rust-1.75.0-nightly-2023-12-26T11:29:04.266265000Z)
108-
109-
user1@localhost:8000/default> SHOW ROLES;
110-
111-
SHOW ROLES
112-
113-
┌───────────────────────────────────────────────────────┐
114-
│ name │ inherited_roles │ is_current │ is_default │
115-
│ String │ UInt64 │ BooleanBoolean
116-
├───────────┼─────────────────┼────────────┼────────────┤
117-
│ developer │ 0 │ true │ true │
118-
│ public │ 0 │ false │ false │
119-
└───────────────────────────────────────────────────────┘
120-
2 rows read in 0.015 sec. Processed 0 rows, 0 B (0 rows/s, 0 B/s)
121-
```
122-
123-
### 示例 5: 创建处于禁用状态的用户
124-
125-
此示例创建名为 'u1' 的用户,该用户处于禁用状态,无法登录。使用 [ALTER USER](03-user-alter-user.md) 命令启用用户后,登录访问权限将恢复。
126-
127-
1. 创建处于禁用状态的用户 'u1':
128-
48+
验证用户及权限:
12949
```sql
130-
CREATE USER u1 IDENTIFIED BY '123' WITH DISABLED = TRUE;
131-
132-
SHOW USERS;
133-
134-
┌─────────────────────────────────────────────────────────────────────────────────────┐
135-
│ name │ hostname │ auth_type │ is_configured │ default_role │ disabled │
136-
├────────┼──────────┼──────────────────────┼───────────────┼───────────────┼──────────┤
137-
│ root │ % │ no_password │ YES │ account_admin │ false │
138-
│ u1 │ % │ double_sha1_password │ NO │ │ true │
139-
└─────────────────────────────────────────────────────────────────────────────────────┘
50+
SHOW GRANTS FOR data_analyst;
51+
+---------------------------------------------------+
52+
| Grants |
53+
+---------------------------------------------------+
54+
| GRANT SELECT,INSERT ON 'default'.* TO 'data_analyst'@'%' |
55+
+---------------------------------------------------+
14056
```
14157

142-
2. 尝试使用 BendSQL 以用户 'u1' 连接到 Databend,结果出现身份验证错误:
58+
### 示例 2:创建用户并授予角色
14359

144-
```shell
145-
~ bendsql --user u1 --password 123
146-
Welcome to BendSQL 0.16.0-homebrew.
147-
Connecting to localhost:8000 as user u1.
148-
Error: APIError: RequestError: Start Query failed with status 401 Unauthorized: {"error":{"code":"401","message":"AuthenticateFailure: user u1 is disabled. Not allowed to login"}}
149-
```
150-
151-
3. 使用 [ALTER USER](03-user-alter-user.md) 命令启用用户 'u1':
60+
创建用户并分配具有特定权限的角色:
15261

15362
```sql
154-
ALTER USER u1 WITH DISABLED = FALSE;
63+
-- 创建角色并授予权限
64+
CREATE ROLE analyst_role;
65+
GRANT SELECT ON *.* TO ROLE analyst_role;
66+
GRANT INSERT ON default.* TO ROLE analyst_role;
67+
68+
-- 创建用户并授予角色
69+
CREATE USER john_analyst IDENTIFIED BY 'secure_pass456';
70+
GRANT ROLE analyst_role TO john_analyst;
15571
```
15672

157-
4. 重新尝试以用户 'u1' 连接到 Databend,确认登录访问成功:
158-
159-
```shell
160-
~ bendsql --user u1 --password 123
161-
Welcome to BendSQL 0.16.0-homebrew.
162-
Connecting to localhost:8000 as user u1.
163-
Connected to Databend Query v1.2.424-nightly-d3a89f708d(rust-1.77.0-nightly-2024-04-17T22:11:59.304509266Z)
73+
验证角色分配:
74+
```sql
75+
SHOW GRANTS FOR john_analyst;
76+
+------------------------------------------+
77+
| Grants |
78+
+------------------------------------------+
79+
| GRANT SELECT ON *.* TO 'analyst_role' |
80+
| GRANT INSERT ON 'default'.* TO 'analyst_role' |
81+
+------------------------------------------+
16482
```
16583

166-
### 示例 6:创建带有 MUST_CHANGE_PASSWORD 的用户
167-
168-
在此示例中,我们将创建一个带有 `MUST_CHANGE_PASSWORD` 选项的用户。然后,我们将使用 BendSQL 以新用户身份连接到 Databend 并更改密码。
169-
170-
1. 创建一个名为 'eric' 的新用户,并将 `MUST_CHANGE_PASSWORD` 选项设置为 `TRUE`
84+
### 示例 3:创建不同认证类型的用户
17185

17286
```sql
173-
CREATE USER eric IDENTIFIED BY 'abc123' WITH MUST_CHANGE_PASSWORD = TRUE;
174-
```
175-
176-
2. 启动 BendSQL 并以新用户身份连接到 Databend。连接后,您将看到一条消息,指示需要更改密码。
87+
-- 使用默认认证创建用户
88+
CREATE USER user1 IDENTIFIED BY 'abc123';
17789

178-
```bash
179-
MacBook-Air:~ eric$ bendsql -ueric -pabc123
90+
-- 使用 SHA256 认证创建用户
91+
CREATE USER user2 IDENTIFIED WITH sha256_password BY 'abc123';
18092
```
18193

182-
3. 使用 [ALTER USER](03-user-alter-user.md) 命令更改密码。
183-
184-
```bash
185-
eric@localhost:8000/default> ALTER USER USER() IDENTIFIED BY 'abc456';
186-
```
94+
### 示例 4:创建具有特殊配置的用户
18795

188-
4. 退出 BendSQL,然后使用新密码重新连接。
96+
```sql
97+
-- 创建需修改密码的用户
98+
CREATE USER new_employee IDENTIFIED BY 'temp123' WITH MUST_CHANGE_PASSWORD = true;
18999

190-
```bash
191-
MacBook-Air:~ eric$ bendsql -ueric -pabc456
192-
Welcome to BendSQL 0.19.2-1e338e1(2024-07-17T09:02:28.323121000Z).
193-
Connecting to localhost:8000 as user eric.
194-
Connected to Databend Query v1.2.567-nightly-78d41aedc7(rust-1.78.0-nightly-2024-07-14T22:10:13.777450105Z)
100+
-- 创建禁用状态的用户
101+
CREATE USER temp_user IDENTIFIED BY 'abc123' WITH DISABLED = true;
195102

196-
eric@localhost:8000/default>
103+
-- 创建带默认角色的用户(需单独授予角色)
104+
CREATE USER manager IDENTIFIED BY 'abc123' WITH DEFAULT_ROLE = 'admin';
105+
GRANT ROLE admin TO manager;
197106
```

lychee.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ exclude = [
108108
'https://docs.wasabi.com/docs/creating-a-bucket',
109109
'https://www.snowflake.com/',
110110
'https://www.sqlalchemy.org/',
111-
'https://tapdata.net/ '
111+
'https://tapdata.net/',
112+
'https://tapdata.net/tapdata-cloud.html'
112113
]
113114

114115
# URLs to check (supports regex). Has preference over all excludes.

0 commit comments

Comments
 (0)