From 89cb03191d24dbbfc953c0c635c6180c8e5d66c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= Date: Tue, 25 Nov 2025 20:08:27 +0100 Subject: [PATCH 1/5] DM: Add note about binlog_legacy_event_pos for MariaDB --- dm/dm-compatibility-catalog.md | 1 + migrate-from-mariadb.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dm/dm-compatibility-catalog.md b/dm/dm-compatibility-catalog.md index c7a28d31ed256..620a9c8aaa9d7 100644 --- a/dm/dm-compatibility-catalog.md +++ b/dm/dm-compatibility-catalog.md @@ -36,6 +36,7 @@ DM supports migrating data from different sources to TiDB clusters. Based on the - For MariaDB **10.5.11 and later**, the DM **precheck fails** due to privilege name changes (for example, `BINLOG MONITOR`, `REPLICATION SLAVE ADMIN`, `REPLICATION MASTER ADMIN`). The error appears as `[code=26005] fail to check synchronization configuration` in the replication privilege, dump privilege, and dump connection number checkers. - You can **bypass the precheck** by adding `ignore-checking-items: ["all"]` in the DM task. See [DM precheck](/dm/dm-precheck.md) for details. +- For MariaDB 11.4 and later you must set the [`binlog_legacy_event_pos`](https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#binlog_legacy_event_pos) variable to `OFF`. ## Target databases diff --git a/migrate-from-mariadb.md b/migrate-from-mariadb.md index bf70a1b950d5f..51a1e2969d24a 100644 --- a/migrate-from-mariadb.md +++ b/migrate-from-mariadb.md @@ -12,7 +12,7 @@ This document describes how to migrate data from a MariaDB server installation t Choose the right migration strategy: - The first strategy is to [dump data with Dumpling and restore data with TiDB Lightning](#dump-data-with-dumpling-and-restore-data-with-tidb-lightning). This works for all versions of MariaDB. The drawback of this strategy is that it needs more downtime. -- The second strategy is to [Replicate data with DM](#replicate-data-with-dm) from MariaDB to TiDB with DM. DM does not support all versions of MariaDB. Supported versions are listed on the [DM Compatibility Catalog](/dm/dm-compatibility-catalog.md#compatibility-catalog-of-tidb-data-migration). +- The second strategy is to [Replicate data with DM](#replicate-data-with-dm) from MariaDB to TiDB with DM. DM does not support all versions of MariaDB. Supported versions and required settings are listed on the [DM Compatibility Catalog](/dm/dm-compatibility-catalog.md#compatibility-catalog-of-tidb-data-migration). Besides these two strategies, there might be other strategies available specifically to your situation. For example: From d3e8bb75c72b4df8a4b9afe121d7609f5928fa8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= Date: Tue, 25 Nov 2025 20:25:27 +0100 Subject: [PATCH 2/5] Update dm/dm-compatibility-catalog.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- dm/dm-compatibility-catalog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dm/dm-compatibility-catalog.md b/dm/dm-compatibility-catalog.md index 620a9c8aaa9d7..6707dae47546f 100644 --- a/dm/dm-compatibility-catalog.md +++ b/dm/dm-compatibility-catalog.md @@ -36,7 +36,7 @@ DM supports migrating data from different sources to TiDB clusters. Based on the - For MariaDB **10.5.11 and later**, the DM **precheck fails** due to privilege name changes (for example, `BINLOG MONITOR`, `REPLICATION SLAVE ADMIN`, `REPLICATION MASTER ADMIN`). The error appears as `[code=26005] fail to check synchronization configuration` in the replication privilege, dump privilege, and dump connection number checkers. - You can **bypass the precheck** by adding `ignore-checking-items: ["all"]` in the DM task. See [DM precheck](/dm/dm-precheck.md) for details. -- For MariaDB 11.4 and later you must set the [`binlog_legacy_event_pos`](https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#binlog_legacy_event_pos) variable to `OFF`. +- For MariaDB 11.4 and later, you must set the [`binlog_legacy_event_pos`](https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#binlog_legacy_event_pos) variable to `OFF`. ## Target databases From 47fe99d5e4e215730c971d58acf2c55a2eaa1268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= Date: Tue, 25 Nov 2025 20:25:46 +0100 Subject: [PATCH 3/5] Update migrate-from-mariadb.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- migrate-from-mariadb.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrate-from-mariadb.md b/migrate-from-mariadb.md index 51a1e2969d24a..6b56ba82bcf06 100644 --- a/migrate-from-mariadb.md +++ b/migrate-from-mariadb.md @@ -12,7 +12,7 @@ This document describes how to migrate data from a MariaDB server installation t Choose the right migration strategy: - The first strategy is to [dump data with Dumpling and restore data with TiDB Lightning](#dump-data-with-dumpling-and-restore-data-with-tidb-lightning). This works for all versions of MariaDB. The drawback of this strategy is that it needs more downtime. -- The second strategy is to [Replicate data with DM](#replicate-data-with-dm) from MariaDB to TiDB with DM. DM does not support all versions of MariaDB. Supported versions and required settings are listed on the [DM Compatibility Catalog](/dm/dm-compatibility-catalog.md#compatibility-catalog-of-tidb-data-migration). +- The second strategy is to [Replicate data with DM](#replicate-data-with-dm). DM does not support all versions of MariaDB. Supported versions and required settings are listed on the [DM Compatibility Catalog](/dm/dm-compatibility-catalog.md#compatibility-catalog-of-tidb-data-migration). Besides these two strategies, there might be other strategies available specifically to your situation. For example: From 4145eb18cb9e7e2d2159ff8be33bf0a2e8a17c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= Date: Tue, 25 Nov 2025 20:56:42 +0100 Subject: [PATCH 4/5] Apply suggestion from @dveeden --- dm/dm-compatibility-catalog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dm/dm-compatibility-catalog.md b/dm/dm-compatibility-catalog.md index 6707dae47546f..682d1694212f8 100644 --- a/dm/dm-compatibility-catalog.md +++ b/dm/dm-compatibility-catalog.md @@ -36,7 +36,7 @@ DM supports migrating data from different sources to TiDB clusters. Based on the - For MariaDB **10.5.11 and later**, the DM **precheck fails** due to privilege name changes (for example, `BINLOG MONITOR`, `REPLICATION SLAVE ADMIN`, `REPLICATION MASTER ADMIN`). The error appears as `[code=26005] fail to check synchronization configuration` in the replication privilege, dump privilege, and dump connection number checkers. - You can **bypass the precheck** by adding `ignore-checking-items: ["all"]` in the DM task. See [DM precheck](/dm/dm-precheck.md) for details. -- For MariaDB 11.4 and later, you must set the [`binlog_legacy_event_pos`](https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#binlog_legacy_event_pos) variable to `OFF`. +- For MariaDB 11.4 and later, you must set the [`binlog_legacy_event_pos`](https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#binlog_legacy_event_pos) variable to `ON`. ## Target databases From c2b9ecde1c9dda5016080055adfdbe7978158d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= Date: Thu, 27 Nov 2025 10:59:06 +0100 Subject: [PATCH 5/5] Add note about empty gtid_binlog_pos --- dm/dm-compatibility-catalog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/dm/dm-compatibility-catalog.md b/dm/dm-compatibility-catalog.md index 682d1694212f8..7c187a1a558fa 100644 --- a/dm/dm-compatibility-catalog.md +++ b/dm/dm-compatibility-catalog.md @@ -37,6 +37,7 @@ DM supports migrating data from different sources to TiDB clusters. Based on the - For MariaDB **10.5.11 and later**, the DM **precheck fails** due to privilege name changes (for example, `BINLOG MONITOR`, `REPLICATION SLAVE ADMIN`, `REPLICATION MASTER ADMIN`). The error appears as `[code=26005] fail to check synchronization configuration` in the replication privilege, dump privilege, and dump connection number checkers. - You can **bypass the precheck** by adding `ignore-checking-items: ["all"]` in the DM task. See [DM precheck](/dm/dm-precheck.md) for details. - For MariaDB 11.4 and later, you must set the [`binlog_legacy_event_pos`](https://mariadb.com/docs/server/ha-and-performance/standard-replication/replication-and-binary-log-system-variables#binlog_legacy_event_pos) variable to `ON`. +- Starting DM on a new/fresh MariaDB instance with an empty `gtid_binlog_pos` can cause issues, avoid this by creating at least one transaction. See [GitHub pingcap/tiflow#12423](https://github.com/pingcap/tiflow/issues/12423). ## Target databases