diff --git a/TOC.md b/TOC.md index 1273035aa1c0..e4aa2f49a8fe 100644 --- a/TOC.md +++ b/TOC.md @@ -301,6 +301,7 @@ - [使用 Binary 部署](/dm/deploy-a-dm-cluster-using-binary.md) - [在 Kubernetes 环境中部署](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/deploy-tidb-dm) - 入门指南 + - [创建数据源](/dm/quick-start-create-source.md) - [数据源操作](/dm/dm-manage-source.md) - [任务配置向导](/dm/dm-task-configuration-guide.md) - [Table routing](/dm/dm-key-features.md#table-routing) @@ -342,9 +343,10 @@ - [处理告警](/dm/dm-handle-alerts.md) - [日常巡检](/dm/dm-daily-check.md) - 参考手册 - - 架构 + - 架构组件 - [DM 架构简介](/dm/dm-arch.md) - [DM-worker 说明](/dm/dm-worker-intro.md) + - [Relay Log](/dm/relay-log.md) - 命令行 - [DM-master & DM-worker](/dm/dm-command-line-flags.md) - 配置文件 @@ -353,17 +355,20 @@ - [迁移任务配置](/dm/task-configuration-file-full.md) - [DM-master 配置](/dm/dm-master-configuration-file.md) - [DM-worker 配置](/dm/dm-worker-configuration-file.md) + - [Table Selector](/dm/table-selector.md) - [OpenAPI](/dm/dm-open-api.md) - 安全 - [为 DM 的连接开启加密传输](/dm/dm-enable-tls.md) - [生成自签名证书](/dm/dm-generate-self-signed-certificates.md) - - 监控告警 + - 监控告警 - [监控指标](/dm/monitor-a-dm-cluster.md) - [告警信息](/dm/dm-alert-rules.md) - [错误码](/dm/dm-error-handling.md#常见故障处理方法) - [术语表](/dm/dm-glossary.md) - 使用示例 - [使用 DM 迁移数据](/dm/migrate-data-using-dm.md) + - [快速创建迁移任务](/dm/quick-start-create-task.md) + - [分表合并数据迁移最佳实践](/dm/shard-merge-best-practices.md) - 异常解决 - [常见问题](/dm/dm-faq.md) - [错误处理及恢复](/dm/dm-error-handling.md) diff --git a/dm/dm-benchmark-v5.3.0.md b/dm/dm-benchmark-v5.3.0.md deleted file mode 100644 index 45bbca287109..000000000000 --- a/dm/dm-benchmark-v5.3.0.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: DM 5.3.0 性能测试报告 -summary: 了解 DM 5.3.0 版本的性能。 ---- - -# DM 5.3.0 性能测试报告 - -本报告记录了对 5.3.0 版本的 DM 进行性能测试的目的、环境、场景和结果。 - -## 测试目的 - -该性能测试用于评估使用 DM 进行全量数据导入和增量数据复制的性能上限,并根据测试结果提供 DM 迁移任务的参考配置。 - -## 测试环境 - -### 测试机器信息 - -系统信息: - -| 机器 IP | 操作系统 | 内核版本 | 文件系统类型 | -| :---------: | :---------------------------: | :-------------------: | :--------------: | -| 172.16.6.1 | CentOS Linux release 7.8.2003 | 3.10.0-957.el7.x86_64 | ext4 | -| 172.16.6.2 | CentOS Linux release 7.8.2003 | 3.10.0-957.el7.x86_64 | ext4 | -| 172.16.6.3 | CentOS Linux release 7.8.2003 | 3.10.0-957.el7.x86_64 | ext4 | - -硬件信息: - -| 类别 | 指标 | -| :----------: | :-------------------------------------------------: | -| CPU | Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz, 48 Cores | -| 内存 | 192G, 12 * 16GB DIMM DDR4 2133 MHz | -| 磁盘 | INTEL SSDPE2KX040T8 4TB | -| 网卡 | 万兆网卡 | - -其他: - -* 服务器间网络延迟:rtt min/avg/max/mdev = 0.045/0.064/0.144/0.024 ms - -### 集群拓扑 - -| 机器 IP | 部署的服务 | -| :---------: | :--------------------------------: | -| 172.16.6.1 | PD1, TiDB1, TiKV1, MySQL1, DM-master1 | -| 172.16.6.2 | PD2, TiDB2, TiKV2, DM-worker1 | -| 172.16.6.3 | PD3, TiDB3, TiKV3 | - -### 各服务版本信息 - -- MySQL 版本:5.7.36-log -- TiDB 版本:v5.2.1 -- DM 版本:v5.3.0 -- Sysbench 版本:1.1.0 - -## 测试场景 - -可以参考[性能测试](/dm/dm-performance-test.md)中介绍的测试场景,测试单个 MySQL 实例到 TiDB 的数据迁移: MySQL1 (172.16.6.1) -> DM-worker(172.16.6.2) -> TiDB(load balance) (172.16.6.4)。 - -### 全量导入性能测试 - -可以参考[全量导入性能测试用例](/dm/dm-performance-test.md#全量导入性能测试用例)中介绍的方法进行测试。 - -#### 全量导入性能测试结果 - -在 `mydumper` 配置项中配置 `threads` 参数,可以通过 Dumpling 开启多线程并发导出,提高数据导出性能。 - -| 测试项 | 数据量 (G) | threads | rows | statement-size | 导出时间 (s) | 导出速度 (MB/s) | -| :----------: | :---------: |:-------: | :-----: | :-------------: | :----------: | :---------------: | -| dump data | 38.1 | 32 | 320000 | 1000000 | 45 | 846 | - -| 测试项 | 数据量 (G) | pool size | 每条插入语句包含的行数 | 事务执行最大延迟 (s) | 导入时间 (s) | 导入速度 (MB/s) | -| :-------: | :--------: | :-------: | :-------------------: | :----------------: | :----------: | :-------------: | -| load data | 38.1 | 32 | 4878 | 76 | 2740 | 13.9 | - -#### 在 load 处理单元使用不同 pool size 的性能测试对比 - -该测试中使用 `sysbench` 全量导入的数据量为 3.78 GB,测试数据如下所示: - -| load 处理单元 pool size | 事务执行最大延迟 (s) | 导入时间 (s) | 导入速度 (MB/s) | TiDB 99 duration (s) | -| :---------------------: | :---------------: | :----------: | :-------------: | :------------------: | -| 2 | 0.71 | 397 | 9.5 | 0.61 | -| 4 | 1.21 | 363 | 10.4 | 1.03 | -| 8 | 3.30 | 279 | 13.5 | 2.11 | -| 16 | 5.56 | 200 | 18.9 | 3.04 | -| 32 | 6.92 | 218 | 17.3 | 6.56 | -| 64 | 8.59 | 231 | 16.3 | 8.62 | - -#### 导入数据时每条插入语句包含行数不同的情况下的性能测试对比 - -该测试中全量导入的数据量为 3.78 GB,load 处理单元 `pool-size` 大小为 32。插入语句包含行数通过 `mydumper` 配置项中的 `statement-size`,`rows` 或者 `extra-args` 参数来控制。 - -| 每条语句中包含的行数 | mydumper extra-args 参数 | 事务执行最大延迟 (s) | 导入时间 (s) | 导入速度 (MB/s) | TiDB 99 duration (s) | -| :------------------------: | :-----------------------: | :--------------: | :----------: | :-------------: | :------------------: | -| 7506 | -s 1500000 -r 320000 | 8.34 | 229 | 16.5 | 10.64 | -| 5006 | -s 1000000 -r 320000 | 6.12 | 218 | 17.3 | 7.23 | -| 2506 | -s 500000 -r 320000 | 4.27 | 232 | 16.2 | 3.24 | -| 1256 | -s 250000 -r 320000 | 2.25 | 235 | 16.0 | 1.92 | -| 629 | -s 125000 -r 320000 | 1.03 | 246 | 15.3 | 0.91 | -| 315 | -s 62500 -r 320000 | 0.63 | 249 | 15.1 | 0.44 | - -### 增量复制性能测试用例 - -使用[增量复制性能测试用例](/dm/dm-performance-test.md#增量复制性能测试用例)中介绍的方法进行测试。 - -#### 增量复制性能测试结果 - -该性能测试中复制任务 `sync` 处理单元 `worker-count` 设置为 32,`batch` 大小设置为 100。 - -| 组件 | qps | tps | 95% 延迟 | -| :------------------------: | :----------------------------------------------------------: | :-------------------------------------------------------------: | :--------------------------: | -| MySQL | 40.65k | 40.65k | 1.10ms | -| DM binlog replication unit | 29.1k (单位时间内接收到的不被忽略的 binlog event 数量) | - | 92ms (事务执行时间) | -| TiDB | 32.0k (Begin/Commit 1.5k Insert 29.1k) | 3.72k | 95%: 6.2ms 99%: 9.3ms | - -#### 在 sync 处理单元使用不同并发度的性能测试对比 - -| sync 处理单元 worker-count 数 | DM qps | DM 事务执行最大延迟 (ms) | TiDB qps | TiDB 99 duration (ms) | -| :---------------------------: | :-------------: | :-----------------------: | :------: | :-------------------: | -| 4 | 10.2 | 40 | 10.5k | 4 | -| 8 | 17.6k | 64 | 18.9k | 5 | -| 16 | 29.5k | 80 | 30.5k | 7 | -| 32 | 29.1k | 92 | 32.0k | 9 | -| 64 | 27.4k | 88 | 37.7k | 14 | -| 1024 | 22.9k | 85 | 57.5k | 25 | - -#### 不同数据分布的增量复制性能测试对比 - -| sysbench 语句类型| DM qps | DM 事务执行最大延迟 (ms) | TiDB qps | TiDB 99 duration (ms) | -| :--------------: | :-------------: | :------------------: | :------: | :-------------------: | -| insert_only | 29.1k | 64 | 32.0k | 8 | -| write_only | 23.5k | 296 | 24.2k | 18 | - -## 推荐迁移任务参数配置 - -### dump 处理单元 - -推荐每一条插入语句的大小在 200KB ~ 1MB 之间,相应每条语句包含的行数大约在 1000-5000(具体包含的语句行数与实际场景中每行数据大小有关)。 - -### load 处理单元 - -推荐 `pool-size` 设置为 16 ~ 32。 - -### sync 处理单元 - -推荐将 `batch` 设置为 100,`worker-count` 设置为 16 ~ 32。 diff --git a/dm/dm-benchmark-v5.4.0.md b/dm/dm-benchmark-v5.4.0.md index c2c739e15f50..af0229feb5b5 100644 --- a/dm/dm-benchmark-v5.4.0.md +++ b/dm/dm-benchmark-v5.4.0.md @@ -5,4 +5,4 @@ summary: 了解 DM 5.4.0 版本的性能。 # DM 5.4.0 性能测试报告 -TiDB Data Migration (DM) 5.4.0 的性能测试数据与 DM 5.3.0 的测试数据持平,因此不单独提供测试报告。若要了解 DM 5.3.0 版本的性能测试目的、环境、场景和结果,请参阅 [DM 5.3.0 性能测试报告](/dm/dm-benchmark-v5.3.0.md)。 +TiDB Data Migration (DM) 5.4.0 的性能测试数据与 DM 5.3.0 的测试数据持平,因此不单独提供测试报告。若要了解 DM 5.3.0 版本的性能测试目的、环境、场景和结果,请参阅 [DM 5.3.0 性能测试报告](https://github.com/pingcap/docs-dm/blob/release-5.3/zh/dm-benchmark-v5.3.0.md)。 diff --git a/dm/dm-handle-performance-issues.md b/dm/dm-handle-performance-issues.md index 9053b9e0b387..6f330df5f66b 100644 --- a/dm/dm-handle-performance-issues.md +++ b/dm/dm-handle-performance-issues.md @@ -12,7 +12,7 @@ aliases: ['/docs-cn/tidb-data-migration/dev/handle-performance-issues/'] 在诊断性能问题时,请先确保对应组件正在正常运行,否则可能出现监控指标异常的情况,对性能问题的诊断造成干扰。 -在诊断问题前,也可以先了解 DM 的[性能测试报告](/dm/dm-benchmark-v5.3.0.md)。 +在诊断问题前,也可以先了解 DM 的[性能测试报告](https://github.com/pingcap/docs-dm/blob/release-5.3/zh/dm-benchmark-v5.3.0.md)。 当数据迁移过程存在较大延迟时,若需快速定位瓶颈是在 DM 组件内部还是在 TiDB 集群,可先排查 [写入 SQL 到下游](#写入-sql-到下游) 部分的 `DML queue remain length`。 diff --git a/dm/quick-create-migration-task.md b/dm/quick-create-migration-task.md deleted file mode 100644 index 657fab0f53b9..000000000000 --- a/dm/quick-create-migration-task.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: 使用场景 -summary: 了解在不同业务需求场景下如何配置数据迁移任务。 ---- - -# DM 使用场景概述 - -> **注意:** -> -> 在创建数据迁移任务之前,需要先完成以下操作: -> -> 1. [使用 TiUP 部署 DM 集群](/dm/deploy-a-dm-cluster-using-tiup.md)。 -> 2. [创建数据源](/dm/quick-start-create-source.md)。 - -本文介绍多个业务需求场景下如何完成数据迁移任务。 - -除了业务需求场景导向的创建数据迁移任务教程之外: - -- 完整的数据迁移任务配置示例,请参考 [DM 任务完整配置文件介绍](/dm/task-configuration-file-full.md) -- 数据迁移任务的配置向导,请参考 [数据迁移任务配置向导](/dm/dm-task-configuration-guide.md) - -## 从 Amazon Aurora 迁移数据到 TiDB - -从 Aurora 迁移数据到部署在 AWS 的 TiDB 集群,数据迁移可以分为全量迁移和增量迁移两个步骤进行。请根据你的业务需求选择相应的步骤。 - -- [从 Aurora 迁移数据到 TiDB](/migrate-aurora-to-tidb.md) - -## 迁移 MySQL 到 TiDB - -如果你没有使用 Cloud storage (S3) 服务,而且网络联通和延迟情况良好,那么从 MySQL 迁移数据到 TiDB 时可以参照下面的方案。 - -- [从小数据量 MySQL 迁移数据到 TiDB](/migrate-small-mysql-to-tidb.md) - -如果你对数据迁移速度有要求,或者数据规模特别大(例如大于 1 TiB),并且禁止 TiDB 集群在迁移期间有其他业务写入,那么你可以先使用 Lightning 进行快速导入,然后根据业务需要选择是否使用 DM 进行增量数据 (Binlog) 同步。 - -- [从大数据量 MySQL 迁移数据到 TiDB](/migrate-large-mysql-to-tidb.md) - -## 分库分表 MySQL 合并迁移到 TiDB - -如果你的业务使用了基于 MySQL 分库的方案来存储数据,业务数据从 MySQL 迁移到 TiDB 后,合并这些分表数据到一张合并,那么你可以使用 DM 进行分表合并迁移。 - -- [从小数据量分库分表 MySQL 合并迁移数据到 TiDB](/migrate-small-mysql-shards-to-tidb.md) - -如果分表数据总规模特别大(例如大于 1 TiB),并且禁止 TiDB 集群在迁移期间有其他业务写入,那么你可以使用 Lightning 对分表数据进行快速合并导入,然后根据业务需要选择是否使用 DM 进行增量数据 (Binlog) 的分表同步。 - -- [从大数据量分库分表 MySQL 合并迁移数据到 TiDB](/migrate-large-mysql-shards-to-tidb.md) - -## 复杂迁移场景 - -DM 在实时同步过程中,多个已有特性可以使得同步过程更加灵活,适应各类业务需求: - -- [上游使用 pt/gh-ost 工具的持续同步场景](/migrate-with-pt-ghost.md) -- [下游存在更多列的迁移场景](/migrate-with-more-columns-downstream.md) -- [如何过滤 binlog 事件](/filter-binlog-event.md) -- [如何通过 SQL 表达式过滤 binlog](/filter-dml-event.md) \ No newline at end of file diff --git a/dm/scenarios.md b/dm/scenarios.md deleted file mode 100644 index b053f45a7ad5..000000000000 --- a/dm/scenarios.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: 应用场景 -summary: 了解 TiDB Data Migration 支持的主要应用场景。 -aliases: ['/docs-cn/tidb-data-migration/dev/scenarios/'] ---- - -# 应用场景 - -本文档介绍 TiDB Data Migration (DM) 支持的主要应用场景及相关的使用建议。 - -## 将 TiDB 作为 MySQL/MariaDB 的从库 - -将 TiDB 作为上游 MySQL、Aurora、MariaDB 的从库,即将上游实例中的所有数据先以全量形式导入到 TiDB,然后以增量形式实时复制后续变更到 TiDB,则简单按如下规则配置数据迁移任务即可: - -- 指定 `task-mode` 为 `all`。 -- 配置 `target-database` 为下游 TiDB 相关连接信息。 -- 在 `mysql-instances` 中为上游 MySQL/MariaDB 配置对应的 `source-id`。 -- 使用默认的并发控制参数或按需配置 `mydumper-thread`、`loader-thread` 与 `syncer-thread`。 -- 无需配置 `route-rules`、`filter-rules` 及 `block-allow-list` 等。 - -### 迁移 MySQL/MariaDB 中部分业务数据 - -如果原 MySQL/MariaDB 中有多个业务的数据,但暂时只需要迁移其中的部分业务数据到 TiDB,则按照[将 TiDB 作为 MySQL/MariaDB 的从库](#将-tidb-作为-mysqlmariadb-的从库)对迁移任务进行配置后,再按需配置 `block-allow-list` 即可。 - -如期望上游数据迁移到下游不同名的库或表中,则可额外配置 `route-rules`。 - -对于一些归档类场景,可能在上游会定期通过 `TRUNCATE TABLE`/`DROP TABLE` 或其他方式清理部分数据,但又期望下游 TiDB 中保留全部的数据,则可额外配置 `filter-rules` 过滤掉相关数据清理操作。 - -对于此类场景,可参考[从小数据量分库分表 MySQL 合并迁移数据到 TiDB](/migrate-small-mysql-shards-to-tidb.md)。 - -## 合库合表场景 - -如果上游 MySQL/MariaDB 中的数据是以分库分表等形式存在的,在迁移到 TiDB 时通常会期望将其进行合并,这时可通过配置 `route-rules` 来将上游数据中的库名、表名等重命名后合并到下游同一个库或表中,具体可参考[从小数据量分库分表 MySQL 合并迁移数据到 TiDB](/migrate-small-mysql-shards-to-tidb.md)以及[分表合并数据迁移最佳实践](/dm/shard-merge-best-practices.md)。 - -对于 DDL 的迁移,DM 提供了特殊的支持,具体可参考[分库分表合并迁移](/dm/feature-shard-merge.md)。 - -如只需迁移部分业务数据或过滤部分特定操作,可直接参考前述非合库合表场景中的[迁移 MySQL/MariaDB 中部分业务数据](#迁移-mysqlmariadb-中部分业务数据)。 - -## online DDL 场景 - -在 MySQL 生态中,经常会使用 pt-osc 或 gh-ost 等工具执行 online DDL 操作,DM 对此类场景提供了特殊的支持,通过配置 `online-ddl` 参数即可开启。具体可参考 [DM online-ddl](/dm/feature-online-ddl.md)。 - -## 变更 DM 连接的上游 MySQL 实例 - -使用 MySQL/MariaDB 时,经常会构建主从集群以提升读取性能,确保数据安全。如果在使用 DM 进行数据迁移过程中,DM-worker 原来连接的上游 MySQL/MariaDB 实例由于某些原因不可用,则需要将 DM-worker 连接到上游主从集群间的另一实例。对于此类场景,DM 提供了较好的支持,但仍有一些限制,具体可以参考 [切换 DM-worker 与上游 MySQL 实例的连接](/dm/usage-scenario-master-slave-switch.md)。 diff --git a/dm/task-configuration-file.md b/dm/task-configuration-file.md deleted file mode 100644 index e12ccff3cbe6..000000000000 --- a/dm/task-configuration-file.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: DM 任务配置文件介绍 -aliases: ['/docs-cn/tidb-data-migration/dev/task-configuration-file/'] ---- - -# DM 任务配置文件介绍 - -本文档主要介绍 Data Migration (DM) 的任务基础配置文件,包含[全局配置](#全局配置)和[实例配置](#实例配置)两部分。 - -完整的任务配置参见 [DM 任务完整配置文件介绍](/dm/task-configuration-file-full.md)。关于各配置项的功能和配置,请参阅[数据迁移功能](/dm/dm-key-features.md)。 - -## 关键概念 - -关于包括 `source-id` 和 DM-worker ID 在内的关键概念的介绍,请参阅[关键概念](/dm/dm-config-overview.md#关键概念)。 - -## 基础配置文件示例 - -下面是一个基础的配置文件示例,通过该示例可以完成简单的数据迁移功能。 - -```yaml ---- - -# ----------- 全局配置 ----------- -## ********* 基本信息配置 ********* -name: test # 任务名称,需要全局唯一 -task-mode: all # 任务模式,可设为 "full"、"incremental"、"all" - -target-database: # 下游数据库实例配置 - host: "127.0.0.1" - port: 4000 - user: "root" - password: "" # 如果密码不为空,则推荐使用经过 dmctl 加密的密文 - -## ******** 功能配置集 ********** -block-allow-list: # 上游数据库实例匹配的表的 block-allow-list 过滤规则集,如果 DM 版本早于 v2.0.0-beta.2 则使用 black-white-list - bw-rule-1: # 黑白名单配置的名称 - do-dbs: ["all_mode"] # 迁移哪些库 - -# ----------- 实例配置 ----------- -mysql-instances: - - source-id: "mysql-replica-01" # 上游实例或者复制组 ID,参考 `dm-master.toml` 的 `source-id` 配置 - block-allow-list: "bw-rule-1" # 黑白名单配置名称,如果 DM 版本早于 v2.0.0-beta.2 则使用 black-white-list - mydumper-thread: 4 # dump 处理单元用于导出数据的线程数量 - loader-thread: 16 # load 处理单元用于导入数据的线程数量,当有多个实例同时向 TiDB 迁移数据时可根据负载情况适当调小该值 - syncer-thread: 16 # sync 处理单元用于复制增量数据的线程数量,当有多个实例同时向 TiDB 迁移数据时可根据负载情况适当调小该值 - - - source-id: "mysql-replica-02" # 上游实例或者复制组 ID,参考 `dm-master.toml` 的 `source-id` 配置 - block-allow-list: "bw-rule-1" # 黑白名单配置名称,如果 DM 版本早于 v2.0.0-beta.2 则使用 black-white-list - mydumper-thread: 4 # dump 处理单元用于导出数据的线程数量 - loader-thread: 16 # load 处理单元用于导入数据的线程数量,当有多个实例同时向 TiDB 迁移数据时可根据负载情况适当调小该值 - syncer-thread: 16 # sync 处理单元用于复制增量数据的线程数量,当有多个实例同时向 TiDB 迁移数据时可根据负载情况适当调小该值 -``` - -## 配置顺序 - -通过上面的配置文件示例,可以看出配置文件总共分为两个部分:`全局配置`和`实例配置`,其中`全局配置`又分为`基础信息配置`和`功能配置集`,配置顺序如下: - -1. 编辑[全局配置](#全局配置)。 -2. 根据全局配置编辑[实例配置](#实例配置)。 - -## 全局配置 - -### 任务基本信息配置 - -配置任务的基本信息,配置项的说明参见以上示例配置文件中的注释。关于 `task-mode` 的特殊说明如下: - -- 描述:任务模式,可以通过任务模式来指定需要执行的数据迁移工作。 -- 值为字符串(`full`,`incremental` 或 `all`)。 - - `full`:只全量备份上游数据库,然后将数据全量导入到下游数据库。 - - `incremental`:只通过 binlog 把上游数据库的增量修改复制到下游数据库, 可以设置实例配置的 `meta` 配置项来指定增量复制开始的位置。 - - `all`:`full` + `incremental`。先全量备份上游数据库,将数据全量导入到下游数据库,然后从全量数据备份时导出的位置信息 (binlog position) 开始通过 binlog 增量复制数据到下游数据库。 - -> **注意:** -> -> DM 2.0 及更新的版本使用 dumpling 工具执行全量备份。全量备份过程中会使用 [`FLUSH TABLES WITH READ LOCK`](https://dev.mysql.com/doc/refman/8.0/en/flush.html#flush-tables-with-read-lock) 短暂地中断备份库的 DML 和 DDL 操作,从而保证并发备份连接的一致性并记录 binlog 位置用于增量复制。所有的并发备份连接启动事务后释放该锁。 -> -> 推荐在业务低峰或者 MySQL 备库上进行全量备份。 - -### 功能配置集 - -对于一般的业务场景,只需要配置黑白名单过滤规则集,配置说明参见以上示例配置文件中 `block-allow-list` 的注释以及 [Block & Allow Lists](/dm/dm-key-features.md#block--allow-table-lists) - -## 实例配置 - -本小节定义具体的数据迁移子任务,DM 支持从单个或者多个上游 MySQL 实例迁移数据到同一个下游数据库实例。配置项说明参见以上示例配置文件中 `mysql-instances` 的注释。 - -## 修改任务配置 - -因为 DM 集群会持久化保存任务配置,所以修改任务配置需要通过 `stop-task`、`start-task` 将修改后的配置更新到 DM 集群中,如果直接修改任务配置文件,但是不重启任务,配置变更不会生效,DM 集群重启时仍然会读取之前保存的任务配置。 - -这里以修改 `timezone` 配置为例,举例说明任务配置修改步骤: - -1. 修改任务配置文件,将 `timezone` 设置为 `Asia/Shanghai` - -2. 通过 `stop-task` 命令停止任务:`stop-task ` - -3. 通过 `start-task` 命令启动任务:`start-task ` - -4. 在 DM v6.0 及其以后版本中,可通过 `config` 命令检查配置是否生效:`config task `