From 258a77a89ec4cc26b844b2e188f224a48bd48db3 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 1 Aug 2024 11:40:21 +0800 Subject: [PATCH 1/3] This is an automated cherry-pick of #18215 Signed-off-by: ti-chi-bot --- develop/dev-guide-timeouts-in-tidb.md | 2 +- dumpling-overview.md | 6 +++++- migrate-from-tidb-to-mysql.md | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/develop/dev-guide-timeouts-in-tidb.md b/develop/dev-guide-timeouts-in-tidb.md index 87289071dda5..2190ddd8a9aa 100644 --- a/develop/dev-guide-timeouts-in-tidb.md +++ b/develop/dev-guide-timeouts-in-tidb.md @@ -28,7 +28,7 @@ TiDB 的事务的实现采用了 MVCC(多版本并发控制)机制,当新 > **Tip:** > -> 特别地,在 Dumpling 备份时,如果导出的数据量少于 1 TB 且导出的 TiDB 版本为 v4.0.0 或更新版本,并且 Dumpling 可以访问 TiDB 集群的 PD 地址,Dumpling 会自动配置延长 GC 时间且不会对原集群造成影响。以下场景除外: +> 特别地,在 Dumpling 备份时,如果导出的数据量少于 1 TB 且导出的 TiDB 版本为 v4.0.0 或更新版本,并且 Dumpling 可以访问 TiDB 集群的 PD 地址以及 [`INFORMATION_SCHEMA.CLUSTER_INFO`](/information-schema/information-schema-cluster-info.md) 表,Dumpling 会自动调整 GC 的 safe point 从而阻塞 GC 且不会对原集群造成影响。以下场景除外: > > - 数据量非常大(超过 1 TB)。 > - Dumpling 无法直接连接到 PD,例如 TiDB 集群运行在 TiDB Cloud 上,或者 TiDB 集群运行在 Kubernetes 上且与 Dumpling 分离。 diff --git a/dumpling-overview.md b/dumpling-overview.md index ed07522b4282..f654ccbc31ac 100644 --- a/dumpling-overview.md +++ b/dumpling-overview.md @@ -37,7 +37,7 @@ TiDB 还提供了其他工具,你可以根据需要选择使用: - 支持导出到 Amazon S3 云盘。 - 针对 TiDB 进行了更多优化: - 支持配置 TiDB 单条 SQL 内存限制。 - - 针对 TiDB v4.0.0 及更新版本,如果 Dumpling 能够直接连接到 PD,则支持自动调整 TiDB GC 时间。 + - 针对 TiDB v4.0.0 及更新版本,如果 Dumpling 能够访问 TiDB 集群的 PD 地址以及 [`INFORMATION_SCHEMA.CLUSTER_INFO`](/information-schema/information-schema-cluster-info.md) 表,则支持自动调整 [GC](/garbage-collection-overview.md) 的 safe point 从而阻塞 GC。 - 使用 TiDB 的隐藏列 `_tidb_rowid` 优化了单表内数据的并发导出性能。 - 对于 TiDB 可以设置 [tidb_snapshot](/read-historical-data.md#操作流程) 的值指定备份数据的时间点,从而保证备份的一致性,而不是通过 `FLUSH TABLES WITH READ LOCK` 来保证备份一致性。 @@ -296,7 +296,11 @@ Dumpling 导出 TiDB 较大单表(超过 1 TB)时,可能会因为导出数 ### 手动设置 TiDB GC 时间 +<<<<<<< HEAD 如果导出的 TiDB 版本为 v4.0.0 或更新版本,并且 Dumpling 可以访问 TiDB 集群的 PD 地址,Dumpling 会自动配置延长 GC 时间且不会对原集群造成影响。 +======= +当导出的数据量少于 1 TB,导出的 TiDB 版本为 v4.0.0 或更新版本,且 Dumpling 可以访问 TiDB 集群的 PD 地址以及 [`INFORMATION_SCHEMA.CLUSTER_INFO`](/information-schema/information-schema-cluster-info.md) 表时,Dumpling 会自动调整 GC 的 safe point 从而阻塞 GC 且不会对原集群造成影响。 +>>>>>>> 85c9f77c0f (dumpling: update the gc info (#18215)) 但是,在以下场景中,Dumpling 无法自动调整 GC 时间: diff --git a/migrate-from-tidb-to-mysql.md b/migrate-from-tidb-to-mysql.md index c4e9945ac295..24fc09bd714f 100644 --- a/migrate-from-tidb-to-mysql.md +++ b/migrate-from-tidb-to-mysql.md @@ -56,7 +56,11 @@ summary: 了解如何将数据从 TiDB 集群迁移至与 MySQL 兼容的数据 1. 关闭 GC (Garbage Collection)。 +<<<<<<< HEAD 为了保证增量迁移过程中新写入的数据不丢失,在开始全量导出之前,需要关闭上游集群的垃圾回收 (GC) 机制,以确保系统不再清理历史数据。 +======= + 为了保证增量迁移过程中新写入的数据不丢失,在开始全量导出之前,需要关闭上游集群的垃圾回收 (GC) 机制,以确保系统不再清理历史数据。对于 TiDB v4.0.0 及之后的版本,Dumpling 可能会[自动调整 GC 的 safe point 从而阻塞 GC](/dumpling-overview.md#手动设置-tidb-gc-时间)。然而,手动关闭 GC 仍然是必要的,因为在 Dumpling 退出后,GC 可能会被触发,从而导致增量变更迁移失败。 +>>>>>>> 85c9f77c0f (dumpling: update the gc info (#18215)) 执行如下命令关闭 GC: From 14ecd64eed107cb0ac781aae878cfd0d2b89fdbc Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 1 Aug 2024 12:01:00 +0800 Subject: [PATCH 2/3] resolve conflicts --- dumpling-overview.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dumpling-overview.md b/dumpling-overview.md index f654ccbc31ac..789a4ca3f853 100644 --- a/dumpling-overview.md +++ b/dumpling-overview.md @@ -296,11 +296,7 @@ Dumpling 导出 TiDB 较大单表(超过 1 TB)时,可能会因为导出数 ### 手动设置 TiDB GC 时间 -<<<<<<< HEAD -如果导出的 TiDB 版本为 v4.0.0 或更新版本,并且 Dumpling 可以访问 TiDB 集群的 PD 地址,Dumpling 会自动配置延长 GC 时间且不会对原集群造成影响。 -======= 当导出的数据量少于 1 TB,导出的 TiDB 版本为 v4.0.0 或更新版本,且 Dumpling 可以访问 TiDB 集群的 PD 地址以及 [`INFORMATION_SCHEMA.CLUSTER_INFO`](/information-schema/information-schema-cluster-info.md) 表时,Dumpling 会自动调整 GC 的 safe point 从而阻塞 GC 且不会对原集群造成影响。 ->>>>>>> 85c9f77c0f (dumpling: update the gc info (#18215)) 但是,在以下场景中,Dumpling 无法自动调整 GC 时间: From 33ddea214e8b4f857b2f2378cce038c9b3a95bd6 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 1 Aug 2024 12:02:27 +0800 Subject: [PATCH 3/3] resolve conflicts --- migrate-from-tidb-to-mysql.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/migrate-from-tidb-to-mysql.md b/migrate-from-tidb-to-mysql.md index 24fc09bd714f..003bd6c80280 100644 --- a/migrate-from-tidb-to-mysql.md +++ b/migrate-from-tidb-to-mysql.md @@ -56,11 +56,7 @@ summary: 了解如何将数据从 TiDB 集群迁移至与 MySQL 兼容的数据 1. 关闭 GC (Garbage Collection)。 -<<<<<<< HEAD - 为了保证增量迁移过程中新写入的数据不丢失,在开始全量导出之前,需要关闭上游集群的垃圾回收 (GC) 机制,以确保系统不再清理历史数据。 -======= 为了保证增量迁移过程中新写入的数据不丢失,在开始全量导出之前,需要关闭上游集群的垃圾回收 (GC) 机制,以确保系统不再清理历史数据。对于 TiDB v4.0.0 及之后的版本,Dumpling 可能会[自动调整 GC 的 safe point 从而阻塞 GC](/dumpling-overview.md#手动设置-tidb-gc-时间)。然而,手动关闭 GC 仍然是必要的,因为在 Dumpling 退出后,GC 可能会被触发,从而导致增量变更迁移失败。 ->>>>>>> 85c9f77c0f (dumpling: update the gc info (#18215)) 执行如下命令关闭 GC: