0

您好,我正在尝试设置 mysql InnoDB 集群架构,到目前为止,我在 3 个不同的服务器上安装了 mysql server 5.7,并使用以下命令配置了 mysql 集群:

dba.checkInstanceConfiguration();
dba.configureLocalInstance();
var cluster = dba.createCluster("myCluster");
cluster.addInstance("admin@db2:3306") // My username is admin, and the instance hostname is db2.

问题是在运行最后一个命令时 mysql shell 显示此错误:

WARNING: A GTID set check of the MySQL instance at 'db2:3306' determined that it contains transactions that do not originate from the cluster, which must be discarded before it can join the cluster.

db2:3306 has the following errant GTIDs that do not exist in the cluster:
26224bda-bc5b-11ea-9a6e-000c29646186:1-27,
799fe52b-bd3b-11ea-a5ee-005056241c59:1-31,
f1e4837b-b6ce-11ea-b1c5-000c29646186:1

WARNING: Discarding these extra GTID events can either be done manually or by completely overwriting the state of db2:3306 with a physical snapshot from an existing cluster member. To use this method by default, set the 'recoveryMethod' option to 'clone'.

Having extra GTID events is not expected, and it is recommended to investigate this further and ensure that the data can be removed prior to choosing the clone recovery method.
ERROR: The target instance must be either cloned or fully provisioned before it can be added to the target cluster.
Built-in clone support is available starting with MySQL 8.0.17 and is the recommended method for provisioning instances.
Cluster.addInstance: Instance provisioning required (MYSQLSH 51153)

我尝试使用该命令转储整个数据库mysqldump -uroot -proot --all-databases --triggers --routines --events --master-data > /dump.sql并将其导入目标实例,但问题仍然存在。

  • 我无法升级到 mysql 8 并使用上面提到的克隆工具,因为我们的应用程序仅与 mysql 5.7 兼容。

请问如何使用mysql 5.7解决这个问题?

4

1 回答 1

0

好的,我通过清空表解决了这个问题:mysql.gtid_executed,然后重新启动服务器并且它现在正确链接。

于 2020-07-06T15:09:33.443 回答