Path: API › 数据库管理

`POST /database`

在指定 MySQL 服务器上创建新数据库，同时创建对应的数据库用户并授予全部权限。

## Request body

_Required._

- `action45.request_time` (string, required) — Unix 时间戳。
- `action45.request_token` (string, required) — 按 API 概览生成的签名。
- `action45.action` (string, required) — 具体操作名称。
  - one of `"AddDatabase"`
- `action45.sid` (integer, required) — 数据库服务器 ID，`0` = 本地 MySQL
- `action45.name` (string, required) — 数据库名称，仅允许 `^[\w\.-]+$`，不超过 64 字节
- `action45.db_user` (string, required) — 数据库用户名（与数据库名不同时需指定）
- `action45.password` (string, required) — 数据库密码
- `action45.address` (string, required) — 访问来源：`%` 任意 IP，`127.0.0.1` 仅本地，具体 IP
- `action45.codeing` (string, required) — 字符集：`utf8` / `utf8mb4` / `gbk` / `big5`
- `action45.ps` (string, optional) — 备注信息
- `action45.pid` (integer, optional) — 关联网站 ID

## Example request

```text
{
  "request_time": "string",
  "request_token": "string",
  "action": "AddDatabase",
  "sid": 0,
  "name": "string",
  "db_user": "string",
  "password": "string",
  "address": "string",
  "codeing": "string",
  "ps": "string",
  "pid": 0
}
```

## Code samples

### cURL（填写面板地址与签名）

```curl
curl --request POST \
  --url "https://your-panel.example.com:8888/database" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "request_time=<Unix时间戳>" \
  --data-urlencode "request_token=<按 API 概览生成的签名>" \
  --data-urlencode "action=AddDatabase" \
  --data-urlencode "sid=<sid>" \
  --data-urlencode "name=<name>" \
  --data-urlencode "db_user=<db_user>" \
  --data-urlencode "password=<password>" \
  --data-urlencode "address=<address>" \
  --data-urlencode "codeing=<codeing>"
```

## Responses

### default

接口响应，业务状态见下方详细说明。

#### Example

```json
{
  "status": true,
  "msg": "添加成功"
}
```

- `action45.response.default.status` (boolean, optional) — `true` 创建成功
- `action45.response.default.msg` (string, optional) — `添加成功`


## AddDatabase

在指定 MySQL 服务器上创建新数据库，同时创建对应的数据库用户并授予全部权限。

- **路由**：`POST /database`
- **action**：`AddDatabase`

## 输入参数

| 参数名称 | 必选 | 类型 | 描述 |
|----------|------|------|------|
| action | 是 | String | 固定值 `AddDatabase` |
| sid | 是 | Integer | 数据库服务器 ID，`0` = 本地 MySQL |
| name | 是 | String | 数据库名称，仅允许 `^[\w\.-]+$`，不超过 64 字节 |
| db_user | 是 | String | 数据库用户名（与数据库名不同时需指定） |
| password | 是 | String | 数据库密码 |
| address | 是 | String | 访问来源：`%` 任意 IP，`127.0.0.1` 仅本地，具体 IP |
| codeing | 是 | String | 字符集：`utf8` / `utf8mb4` / `gbk` / `big5` |
| ps | 否 | String | 备注信息 |
| pid | 否 | Integer | 关联网站 ID |

## 输出参数

| 参数名称 | 类型 | 描述 |
|----------|------|------|
| status | Boolean | `true` 创建成功 |
| msg | String | `添加成功` |

## 示例

### 请求

```
POST /database HTTP/1.1
Host: 192.168.168.213:8888
Content-Type: application/x-www-form-urlencoded

action=AddDatabase&sid=0&name=bt_doc_test&db_user=bt_doc_test&password=Test@2024&address=%25&codeing=utf8mb4&ps=测试
```

> `address=%25` 是 `%` 的 URL 编码（表示允许任意 IP 访问）。

### 响应

```json
{"status": true, "msg": "添加成功"}
```

