
# 新增数据库SDK配置并注册到Cloud Map
创建数据库连接时，传统的做法是在配置文件中配置用户名、密码等连接信息，通过调用SDK连接数据库。WiseDBA管理台提供SDK配置功能，支持在WiseDBA管理台配置连接信息，并注册到Cloud Map中，在创建数据库连接时，直接调用Cloud Map中的注册信息。
#### 前提条件
- 已创建Database/Schema/keyspace。
- 已创建业务账号，账号状态为success。
- 需要具备AppStage服务运维岗位权限或运维管理员权限，权限申请操作请参见[申请权限](https://support.huaweicloud.com/usermanual-appstage/appstage_04_0009.html)。
 
#### 新增SDK配置
1. [进入AppStage运维中心](https://support.huaweicloud.com/usermanual-wiseeye/appstage_04_0089.html#appstage_04_0089__zh-cn_topic_0000001896253866_zh-cn_topic_0000001785965698_section11734269409)。
2. 在顶部导航栏选择服务。
3. 单击![](https://support.huaweicloud.com/usermanual-wiseeye/zh-cn_image_0000002158912982.png)，选择"微服务开发 \> 数据库治理"。
4. 选择左侧导航栏的"实例管理 \> 实例列表"。
5. 单击实例列表中的实例名称，在左侧导航栏选择"SDK配置"。
6. 单击"新增配置"，配置相关参数。 
   - 当数据库实例引擎为MySQL类型时，参数说明如[表1]所示。
      表1MySQL类型数据库新增SDK配置参数说明 
     | 参数                                                                                || 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     |:---|---|:---|
     | 基本信息     | 微服务名称        | 微服务名称为非必选项。如果业务涉及的微服务较多，可以不填微服务名称，表示匹配全部微服务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | 基本信息     | Schema名称     | 选择Schema名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     | 基本信息     | 业务账号         | 连接数据库的业务账号名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | 基本信息     | DataSource名称 | 自定义DataSource名称，Rainbow需要使用dataSourceName方式初始化。不能为空，长度1-256，不支持中文，不能空格。 您也可以单击"自动生成"，自动生成DataSource名称。                                                                                                                                                                                                                                                                                                                                                                                        |
     | 基本信息     | 备注           | 填写备注信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | 主IP信息                                                               | 主库IP         | 显示主IP信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     | 连接池参数                                                                             || 单击"运行参数值"列中的![](https://support.huaweicloud.com/usermanual-wiseeye/zh-cn_image_0000002194313833.png)，可以修改参数取值。 jdbcProperties(MySQL Driver)参数说明请参见[MySQL官网](https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html)。 poolProperties(Druid)参数说明请参见[表2]。 |
        
      表2poolProperties(Druid)参数说明 
     | 参数                            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     |:---|:---|
     | asyncInit                     | 是否使用异步初始化启动。默认false。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     | initialSize                   | 初始化时建立物理连接的个数。初始化发生在显示调用init方法，或者第一次getConnection时。例如：30，默认值20，小于maxActive。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     | maxActive                     | 最大连接池数量，例如：60，默认值为40。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     | minIdle                       | 最小连接池数量，例如：30，默认值为20，小于maxActive。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | maxWait                       | 获取连接时最大等待时间，单位毫秒。配置了maxWait之后，缺省启用公平锁，并发效率会有所下降，如果需要可以通过配置useUnfairLock属性为true使用非公平锁。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     | testOnBorrow                  | 申请连接时检测连接是否有效，做了这个配置会降低性能。默认值false。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     | testOnReturn                  | 归还连接时检测连接是否有效，做了这个配置会降低性能，默认值false。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     | testWhileIdle                 | 申请连接的时候检测，如果空闲时间大于timeBetweenEvictionRunsMillis，检测连接是否有效。默认值true。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | keepAlive                     | 连接池中的minIdle数量以内的连接，并且连接的空闲时间大于keepAliveBetweenTimeMillis但小于minEvictableIdleTimeMillis，则会执行validationQuery来保持连接的有效性。缺省值为true。                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     | keepAliveBetweenTimeMillis    | 打开keepAlive时，当连接的空闲时间超过该值，会使用validationQuery执行一次查询，检查连接是否可用。缺省值为120s。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     | timeBetweenEvictionRunsMillis | 有以下两个含义： - Destroy线程会检测连接的间隔时间，如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接。  - testWhileIdle的判断依据，详细看testWhileIdle属性的说明。   |
     | minEvictableIdleTimeMillis    | 连接保持空闲而不被驱逐的最长时间，默认值300000，单位毫秒，非必要。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     | logInterval                   | 对应Druid的timeBetweenLogStatsMillis，连接池统计日志打印时间间隔。配置为0表示不打印。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
     | logSlowSql                    | 是否打印慢查询日志，如打印日志：slow sql XXX millis。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     | slowSqlMillis                 | 慢查询时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | 添加数据组                         | 单击"添加数据组"，增加自定义参数，参数名以字母开始，由数字、字母、_组成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
        
     
   
   - 当数据库实例引擎类型为GeminiDB(for Cassandra)时，参数说明如[表3]所示。
      表3GeminiDB(for Cassandra)新增SDK配置参数说明 
     | 参数           | 说明                                                                                                                                                                                                  |
     |:---|:---|
     | Cloud Map实例  | 选择Cloud Map实例，即录入到对应的Cloud Map环境。                                                                                                                                                                   |
     | 授权微服务名称      | 微服务名称为非必选项。如果业务涉及的微服务较多，可以不填微服务名称，表示匹配全部微服务。                                                                                                                                                        |
     | Keyspace名    | 选择Keyspace名称。                                                                                                                                                                                       |
     | 业务账号         | 连接数据库的业务账号名。                                                                                                                                                                                        |
     | DataSource名称 | 自定义DataSource名称，Rainbow需要使用dataSourceName方式初始化。不能为空，长度1-256，不支持中文，不能空格。 您也可以单击"自动生成"，自动生成DataSource名称。 |
     | SDK种子节点IP    | SDK种子节点IP信息。                                                                                                                                                                                        |
     | 实例种子节点IP     | 实例种子节点IP信息。                                                                                                                                                                                         |
     | 全表扫描         | 选择是否开启全表扫描。                                                                                                                                                                                         |
     | 在线压测         | 选择是否开启在线压测。                                                                                                                                                                                         |
     | 慢查询阈值        | 超过慢查询阈值的记录为慢sql，默认值为2000。                                                                                                                                                                           |
     | 请求路由优化       | 是否开启请求路由优化。开启请求路由优化，可使请求优先访问有数据的节点，减少转发。                                                                                                                                                            |
     | 自定义配置        | 单击"添加自定义配置"，配置Key和Value，单击"保存"，即可添加一条自定义配置。                                                                                                                                                         |
        
     
   
   - 当数据库实例引擎类型为GaussDB或RDS for PostgreSQL时，参数说明如[表4]所示。
      表4GaussDB及RDS for PostgreSQL新增SDK配置参数说明 
     | 参数           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     |:---|:---|
     | 微服务名称        | 微服务名称为非必选项。如果业务涉及的微服务较多，可以不填微服务名称，表示匹配全部微服务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | Database名称   | 选择Database名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     | Schema名称     | 选择Schema名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     | 业务账号         | 连接数据库的业务账号名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     | DataSource名称 | 自定义DataSource名称，Rainbow需要使用dataSourceName方式初始化。不能为空，长度1-256，不支持中文，不能空格。 您也可以单击"自动生成"，自动生成DataSource名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     | 备注           | 填写备注信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | 主库IP         | 显示主IP信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     | 连接池参数        | 单击"运行参数值"列中的![](https://support.huaweicloud.com/usermanual-wiseeye/zh-cn_image_0000002194399489.png)，可以修改参数取值。 jdbcProperties(GaussDB Driver)参数说明请参见[连接数据库](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0059.html)。 jdbcProperties(Postgre Driver)参数说明请参见[pgJDBC文档](https://jdbc.postgresql.org/documentation/)。 poolProperties(Druid)参数说明请参见[表2]。 |
        
     
   
   
   
   
7. 单击"保存"。
 
#### 更多操作
表5操作说明 
| 操作           | 说明                                                                                                                                                                      |
|:---|:---|
| 重置实例IP       | 当实例IP发生变化时，通过重置实例IP功能，可以将变更后的IP同步到Cloud Map中。 单击"重置实例IP"，在弹出的提示框中单击"确定"。 |
| 修改SDK配置      | 单击SDK列表操作列的"管理"，修改SDK配置。                                                                                                                                                |
| 删除SDK配置      | 单击SDK列表操作列的"删除"，删除SDK配置。                                                                                                                                                |
| 跳转到Cloud Map | 单击SDK列表操作列的"跳转到Cloud Map"，查看SDK配置数据推送到Cloud Map。                                                                                                                        |
   
