
# 数据库实例连接
#### 什么是数据库实例连接？
数据库实例连接ID（ConnectionID）是DAS（数据管理服务）中用于标识一条数据库登录记录的唯一标识符。当您想在DAS中操作某个数据库时，首先需要创建一个"连接"，系统会为这个连接分配一个唯一的数据库实例连接ID。
可以把数据库实例连接ID理解为您与数据库之间的"钥匙"------有了它，您才能登录数据库、执行SQL、查看表结构、进行性能诊断等操作。
#### 数据库实例连接ID的核心作用
一个数据库实例连接ID承载了访问数据库所需的全部信息，具体包括：
表1数据库信息 
| 信息类别 | 包含内容                   |
|:---|:---|
| 实例信息 | 实例ID、实例名称、引擎类型、引擎版本    |
| 登录凭据 | 数据库用户名、密码（加密存储）、是否保存密码 |
| 网络地址 | IP地址、端口号               |
| 归属信息 | 租户ID、项目ID、用户ID         |
| 功能开关 | 元数据采集、SQL记录、默认登录       |
| 连接类型 | 普通连接/共享连接              |
   
#### 数据库实例连接ID的生成方式
数据库实例连接ID在创建连接时由系统自动生成，采用UUID格式，例如：
```
a1b2c3d4-e5f6-7890-abcd-ef1234567890
```
![](https://support.huaweicloud.com/productdesc-das/public_sys-resources/note_3.0-zh-cn.png)
您无需手动指定数据库实例连接ID，系统会在您创建连接时自动分配。
#### 数据库实例连接ID的生命周期
1. **创建连接。**
   创建连接时系统会进行以下校验：
   - 配额检查：每个项目可创建的连接数有上限。
   
   - 重复检查：同一实例+同一数据库用户不能重复创建。
   
   - 连通性检查：测试数据库是否可达、用户名密码是否正确。
     
2. **使用连接。**
   通过数据库实例连接ID，您可以：
   - 登录数据库，执行SQL查询。
   
   - 查看数据库表结构、索引等元数据。
   
   - 进行SQL性能诊断和调优。
   
   - 查看数据库会话、锁信息。
   
   - 导入导出数据。
    
3. **连接状态。**
   表2连接状态 
   | 状态值 | 状态名         | 含义           |
   |:---|:---|:---|
   | 0   | INIT        | 正常，可使用       |
   | 300 | EXPIRED     | 已过期          |
   | 400 | DELETED     | 已删除          |
   | 500 | NO_INSTANCE | 对应的数据库实例已不存在 |
      
   ![](https://support.huaweicloud.com/productdesc-das/public_sys-resources/note_3.0-zh-cn.png)
   删除连接后，系统会保留操作历史记录，相关会话与缓存将自动清理。
   
4. **删除连接。**
   删除连接时：
   - 系统将状态标记为400（软删除）。
   
   - 自动清理相关的缓存和登录会话。
    
 
#### 数据库实例连接ID与实例的关系
核心关系：
- 一个实例可以有多个连接（不同用户、不同数据库）。
- 一个连接只属于一个实例。
- 当实例被删除时，其下所有连接状态会自动更新为NO_INSTANCE。
 
#### 共享连接
- 什么是共享连接？ 共享连接允许您将自己创建的连接分享给团队其他成员使用，无需他们再次输入用户名密码。
  
- 共享方式
  - 原始连接和共享连接是独立的两条记录，各自有独立的数据库实例连接ID。
  
  - 共享连接的类型为SHARE（普通连接为NORMAL）。
  
  - 共享连接可以设置过期时间。
  
  - 不能将连接共享给自己。
   
- 共享限制
  - 共享数量有100位成员的上限。
  
  - 共享连接不允许执行DDL SQL（仅可查看）。
  
  - 取消共享后，对方的共享连接会被标记为已删除。
   
 
#### 支持的数据库类型
DAS的连接功能支持多种数据库引擎：
表3支持的数据库类型 
| 数据库来源    | 支持的引擎                                     |
|:---|:---|
| RDS      | MySQL、PostgreSQL、SQL Server               |
| TaurusDB | TaurusDB                                  |
| GaussDB  | GaussDB                                   |
| DDS      | MongoDB                                   |
| GeminiDB | Cassandra、Redis、MongoDB、InfluxDB、DynamoDB |
| DDM      | DDM                                       |
   
