# MySQL

{% hint style="info" %}

* 数据获取（Dump）：✅ 已支持
* 数据加载（Load）：  ✅ 已支持
  {% endhint %}

## 从 MySQL 获取数据（Dump）

1. 创建一个高级管道（Advanced pipeline）
2. 点击“添加节点”，选择“Transfer Operator”
3. 在右侧表单中，Dump 部分 “Task Type” 选择 “DBAPIDumpTask”
4. 从已添加的项目连接源中选择 MySQL 数据源

更多配置项详见 [cong-shu-ju-ku-huo-qu-shu-ju](https://docs.reorc.com/cn-reorc-help-center/data-ingestion/lian-jie-yuan-lei-xing/cong-shu-ju-ku-huo-qu-shu-ju "mention")

## 将数据加载到 MySQL（Load）

在“Transfer Operator”的表单中，Load 部分 “Task Type” 选择 “MySQLLoadTask”

配置项填写说明如下：

#### MySQL 连接

* 从项目已添加的连接源中选择目标数据库

#### 目标表

* 目标表名称

#### 建表 SQL

* 当目标表不存在时，用于创建目标表的 SQL 语句。

#### 加载模式

* OVERWRITE：
  * 覆盖模式，新的数据会将目标表的数据覆盖掉
* MERGE：
  * 合并模式，会根据主键字段将新数据与目标表数据进行合并
  * 主键：当选择 MERGE 模式时，需填写主键字段，用于数据去重。可填写一个或多个字段名，通常是主键或唯一键
* APPEND：
  * 追加模式，新数据会完整的插入到目标表中

#### 使用 INSERT 语句

* 是否使用 INSERT 语句插入新数据。
* 默认使用数据库的 `LOAD DATA LOCAL INFILE` 命令 导入数据。
* 若选择开启，则使用标准的 INSERT 语句写入数据。

{% hint style="info" %}
默认的方式效率更高，一般非必要情况下都是使用默认方式
{% endhint %}

#### INSERT 批次大小与并发数

* 如果选择开启 “使用 INSERT 语句”，则需设定：
  * 批次大小：批次大小，即每次插入的数据条数，建议不要超过 10 万
  * 并发插入：并发插入的并行线程数，建议不要超过 10
