首页 > 解决方案 > 基于 GTID 的复制正在尝试重新执行已转储到 mysql 上的内容

问题描述

我正在尝试将 cloudsql MYSQL 数据库复制到 GCE VM,并且我正在遵循本指南。 https://cloud.google.com/sql/docs/mysql/replication/configure-external-replica

我面临的错误是,一旦我恢复转储并启动我的从站,从站尝试执行已经转储的 DDL 命令。换句话说,基于 GTID 的复制从 0 开始。我期望它从进行转储的点开始。

我在这里做错了什么?

我可以看到我正在从主人那里获得最新的 GTID 集。(左边是奴隶,右边是主人)。

克洛

标签: mysqlgoogle-cloud-platformgoogle-cloud-sql

解决方案


所以我发现了这个问题。问题是我的转储文件不包含来自源服务器的 GTID 信息。因此,目的地不知道在源头执行了什么 GTID。所以我必须在创建 mysql 转储时将 gtid_purged 设置为 off。这将在还原时在目的地设置 gtid_executed 并确保不会重新执行


推荐阅读