> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

扣子编程支持关联火山数据库，关联成功后，你可以通过工作流方式在低代码智能体或应用中使用火山数据库。

## 背景信息 {#8847cebb}

火山数据库是指[云数据库 MySQL 版](https://www.volcengine.com/docs/6313/74502)。它是火山引擎基于开源数据库 MySQL 打造的弹性、可靠的在线关系型数据库服务，具备处理和分析海量数据的能力，同时支持数据备份与恢复、监控及告警功能。与扣子数据库相比，火山数据库更适合企业用户场景。

扣子编程通过公网访问云数据库 MySQL，因此你在创建云数据库 MySQL 实例后，需为该实例的连接终端绑定一个公网 IP 地址，并创建对应的数据库以及包含主键的数据表。完成火山数据库关联后，你可以在扣子编程使用云数据库 MySQL，并支持通过工作流中的数据库节点增删改查数据。

关联火山数据库前，请先阅读如下文档：

* 阅读[数据库概述](/guides/database_overview)，了解扣子数据库功能的特性、场景、限制等信息。
* 阅读[云数据库 MySQL 版官方文档](https://www.volcengine.com/docs/6313/74502)，了解云数据库 MySQL 版的使用限制、相关操作、数据库表的管理方式信息。
* 阅读[数据映射](/guides/access_to_cloud_database#e14b776d)，了解云数据库 MySQL 版与扣子数据库的数据类型映射关系。

## 注意事项 {#326b2023}

在使用火山数据库前，请了解以下注意事项。

<!-- @cols-width: 190,599 -->
|**事项** |**说明** |
|---|---|
|订阅套餐 |扣子付费套餐用户支持关联火山数据库。 |
|数据隔离 |* 仅存储线上数据，无测试数据。 |\
| |* 各个发布渠道数据互通，无隔离。暂不支持查看豆包渠道数据。 |
|操作限制 |* 不支持在智能体中直接添加火山数据库表，你可以通过工作流使用火山数据库。 |\
| |* 仅允许关联**空间所有者**对应火山引擎账号（包括主账号、子账号）中的火山数据库。 |\
| |* 仅支持关联包含主键的数据库表。 |

## 费用说明 {#9ff320ba}

在火山引擎侧创建云数据库 MySQL 版后，将产生相应费用，包括云数据库 MySQL 版产品费用和公网 IP 费用，由各个产品收取。

* 云数据库 MySQL 版根据实例规格、数据存储空间、备份存储空间、数据库代理服务、备份外网下载流量和外网流量等计费项进行收费，详情请参考[云数据库 MySQL 版计费说明](https://www.volcengine.com/docs/6313/78083)。
* 公网 IP 支持按照实际流量或带宽收费，详情请参考[公网 IP 计费说明](https://www.volcengine.com/docs/6402/68415)。

## 前提条件 {#a9a04320}


* 已完成私有网络服务访问授权。授权方法，请参见[跨服务访问授权](https://www.volcengine.com/docs/6313/114093)。
* 已创建公网 IP 实例。具体操作，请参考[申请公网 IP](https://www.volcengine.com/docs/6402/69430)。
* 已创建私有网络。具体操作，请参考[创建私有网络](https://www.volcengine.com/docs/6401/69467)。

## 操作步骤 {#657ea515}

### 步骤 1：创建 **MySQL** 实例 {#ed0d3ea8}

在创建云数据库 MySQL 实例时，你可以根据实际的业务需求选择实例的规格、存储空间和网络配置。在关联火山数据库场景中，还需要配置白名单及用户账号信息。

1. 登录[云数据库 MySQL 版控制台](https://console.volcengine.com/db/rds-mysql)。
2. 在左侧导航栏，选择 **MySQL** > **实例列表**，然后单击**创建实例**。
3. 在**创建实例**页面，完成以下配置。
   具体参数配置说明，请参考[创建实例](https://www.volcengine.com/docs/6313/75366)。其中，需设置白名单为 `0.0.0.0/0`，以允许扣子编程可以访问该数据库。详细说明，请参考[创建白名单](https://www.volcengine.com/docs/6313/81202)。
   :::tip 说明
   设置白名单为 `0.0.0.0/0`，表示将允许所有地址访问该数据库。
   :::   


![Image=526x508](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/40d129931a5d4f2bb809f8c703e922f7~tplv-goo7wpa0wc-image.image)

4. 根据页面提示，完成支付。

### 步骤 2：开启公网访问 {#0e235f4d}

为云数据库 MySQL 实例的连接终端绑定一个公网 IP 地址，以实现通过公网访问 MySQL 实例。在 MySQL 实例创建时会自动创建一个读写模式的连接终端，本文以该终端为例，为其绑定一个公网 IP 地址。关于连接终端的详细说明，请参考[关于连接终端](https://www.volcengine.com/docs/6313/145042)。

只有在开启公网访问功能之后，扣子编程才能连接并访问云数据库 MySQL 实例。你可以在目标云数据库 MySQL 实例的**连接管理**页签的**终端列表**区域，找到 MySQL **** 实例的连接终端，单击其公网字段中的**绑定**，选择提前准备好的公网 IP 地址完成绑定。具体操作，请参考[开启公网访问](https://www.volcengine.com/docs/6313/75381)。

![Image=708x75](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/d800633d30654dfcb167af5e5a903b08~tplv-goo7wpa0wc-image.image)

### 步骤 3：创建数据库 {#2576d9dc}

创建云数据库 MySQL 实例后，你还需要创建一个数据库，用于存储和组织数据。创建数据库时，支持设置数据库的字符集等参数，以确保数据的正确存储。

在目标云数据库 MySQL 实例的**数据库管理**页签下，单击**创建数据库**，创建一个新数据库。本示例直接为数据库绑定创建 MySQL 实例时添加的高权限账号，你也可以为数据库创建一个普通账号。具体操作，请参考[创建数据库和账号](https://www.volcengine.com/docs/6313/74513)。

:::tip 说明
使用普通账号时，需授予其对数据库的读写权限（DDL+DML），以确保该账号能够进行数据定义和数据操作。
:::

![Image=439x363](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/696464ded8c64dc68eb133101bf56a4e~tplv-goo7wpa0wc-image.image)

### 步骤 4：创建数据库表 {#8cfe2a64}

[数据库工作台 DBW ](https://www.volcengine.com/docs/6956/147494)是一款面向多类型数据库生命周期管理的统一云管平台。你可以通过[数据库工作台 DBW 控制台](https://console.volcengine.com/dbw)创建数据库表。

在[数据库工作台 DBW 控制台](https://console.volcengine.com/dbw)中，找到已创建的云数据库 MySQL 实例，登录其 SQL 窗口，通过可视化的界面创建数据库表。例如创建一个名为 test_table 数据库表，具体操作，请参考[表管理](https://www.volcengine.com/docs/6956/155003)。

:::tip 说明
* 创建数据库表时，必须指定一个主键，否则在扣子编程关联火山数据库时，将无法获取到目标数据库表。
* 设置数据类型时，建议设置为[数据映射](/guides/access_to_cloud_database#e14b776d)表中支持的类型，避免关联火山数据库时因数据类型不匹配而导致读取数据库表失败或者出现某列数据值错误等问题。
:::

![Image=587x264](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/befe784e87af42ff8822d57e3d60d6ad~tplv-goo7wpa0wc-image.image)

### 步骤 5：关联火山数据库 {#2ba29687}

完成上述操作后，你可以在扣子编程关联云数据库 MySQL 版。通过此操作，你可以将该数据库作为扣子编程资源的一种，加入到扣子编程资源库中。关联成功后，开发者便可在扣子编程的工作流中管理指定数据库表。

1. 登录[扣子编程](https://code.coze.cn/home)。
2. 在页面顶部选择目标工作空间，然后在左侧导航栏中单击**资源库**。
3. 在页面右上角，选择 **+资源** > **数据库**。
4. 在**创建数据库**对话框中，完成如下配置。
   1. 单击**关联火山数据库**。
   2. 选择目标数据库所在的火山引擎项目、地域。
   3. 选择你在[步骤 1：创建 MySQL 实例](/guides/access_to_cloud_database#ed0d3ea8)中创建的数据库实例，并输入其账号和密码。
      该账号需具备数据库的读写权限（DDL+DML）。
   4. 单击**认证。**
      认证通过表示扣子编程连接云数据库 MySQL **** 实例成功。如果认证失败，请根据提示信息检查配置，例如账号密码是否正确、账号是否具备读写权限、数据库表是否存在主键、是否已配置公网 IP 地址等。
   5. 选择你在[步骤 3：创建数据库](/guides/access_to_cloud_database#2576d9dc)中创建的数据库。
   6. 选择你在[步骤 4：创建数据库表](/guides/access_to_cloud_database#8cfe2a64)中创建的数据库表。
      如果你还未创建数据库表，也可以在下列列表中单击**创建数据表**。
   7. 单击**确认**。
      ![Image=307x582](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/05c830db83ae46609af2fffa83620339~tplv-goo7wpa0wc-image.image)      


## 相关操作 {#dbb5d97c}

### 管理数据库表 {#748dcef0}

关联云数据库 MySQL 版成功后，你可以在扣子编程管理云数据库 MySQL 数据库表，包括编辑表结构、增删改查数据等操作。相关操作与扣子数据库的一致，请参考[管理数据表](/guides/manage_data_sheets)。

:::notice 注意
删除某个数据库表后，引用了该数据库表的工作流将自动取消引用，且不可撤回，请谨慎操作。
:::

![Image=576x192](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/4c42c954ca324780a7f2d3b2f3d657a8~tplv-goo7wpa0wc-image.image)

### 更换账号 {#1eaf62e8}

关联云数据库 MySQL 版成功后，如果你需要使用其他账号管理当前 MySQL 数据库，可以更换账号。新账号需具备当前数据库表的操作权限（DDL+DML 权限），否则数据库将会断连失效。

:::tip 说明
更换完成后，所有关联原账号的数据库都将同步完成更新，使用新账号。
:::

在目标火山数据库实例详情页面的右上角，单击**更换账号**，输入新账号和密码，然后单击**更换**。

![Image=574x326](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/d45fac55cd0e4355ba611e533b8ad4e7~tplv-goo7wpa0wc-image.image)

### 解绑火山数据库 {#684979a0}

:::notice 注意
解绑某个数据库后，引用了对应数据库表的工作流将自动取消引用，且不可撤回，请谨慎操作。
:::

如果不再需要使用该火山数据库，可以在扣子编程上执行解除绑定操作。解除绑定，表示删除扣子编程和指定火山数据库的绑定关系，后续无法为工作流配置此数据库，不会删除[云数据库 MySQL 版控制台](https://console.volcengine.com/db/rds-mysql)中的数据库。

在数据库列表中，单击目标火山数据库对应的**删除**开关，解绑数据库。

![Image=622x64](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/573202a6a69d4235b22f287af398e0f0~tplv-goo7wpa0wc-image.image)

### 管理 MySQL 实例和数据库 {#cba7796a}

扣子编程不支持管理云数据库 MySQL 实例和数据库，需前往[云数据库 MySQL 版控制台](https://console.volcengine.com/db/rds-mysql)操作，包括查看实例列表、查看实例信息、删除实例、重启实例、变更实例配置、新增数据库、删除数据库、查看数据库列表等，具体操作，请参考[功能概览](https://www.volcengine.com/docs/6313/66508)。

:::notice 注意
* 如果你不再需要使用**火山数据库**，请及时解绑并前往[云数据库 MySQL 版控制台](https://console.volcengine.com/db/rds-mysql)删除云数据库 MySQL 实例以停止计费。具体操作，请参考[删除实例](https://www.volcengine.com/docs/6313/75370#%E5%88%A0%E9%99%A4%E5%AE%9E%E4%BE%8B)。
* 删除某个数据库或云数据库 MySQL 实例后，引用了对应数据库表的工作流将自动取消引用。
:::

## 数据映射 {#e14b776d}

关联火山数据库时，其数据类型将自动映射为扣子数据库的数据类型。建议在创建数据表时，根据下述表格设置数据类型，以避免映射失败。

<!-- @cols-width: 411,359 -->
|**火山数据库** |**扣子数据库** |
|---|---|
|UNSIGNED BIGINT、UNSIGNED TINYINT、UNSIGNED INT、VARCHAR、TEXT、CHAR、LONGTEXT、MEDIUMTEXT、TINYTEXT、ENUM、SET、JSON、BLOB、LONGBLOB、MEDIUMBLOB、TINYBLOB、BINARY、VARBINARY、BIT、TIME、YEAR |STRING |
|DOUBLE、FLOAT、DECIMAL、NUMERIC、REAL |NUMBER |
|BIGINT、INT、INTEGER、SMALLINT、TINYINT、MEDIUMINT |INTEGER |
|BOOL、BOOLEAN |BOOLEAN |
|DATETIME、TIMESTAMP、DATE |TIME |

## 常见问题 {#4145dcdc}

### 为什么关联时找不到自己创建的数据库实例？ {#c4dbf798}

在关联数据库时，仅允许关联**空间所有者**对应火山引擎账号（包括主账号、子账号）中的云数据库 MySQL 实例。如果你是某工作空间的成员，并在自己的火山引擎账号中创建了云数据库 MySQL 实例，但你的火山引擎账号和当前工作空间所有者的火山引擎账号不属于同一个主账号体系，那么你在该工作空间中无法关联自己创建的云数据库 MySQL 实例。

### 修改数据库密码后，火山数据库报错，如何处理？ {#f34004c3}

在[云数据库 MySQL 版控制](https://console.volcengine.com/db/rds-mysql)中修改数据库密码后，扣子编程侧将不展示目标数据库表结构及无法使用，你需要更新下火山数据库的密码。在目标火山数据库实例详情页面的右上角，单击**更换账号**，输入原账号和新密码，然后单击**更换**。具体操作，请参考[更换账号](/guides/access_to_cloud_database#1eaf62e8)。

##  {#6c44ab2e}

