提问者:小点点

Mysql server 5.7-无法使用Mysql shell“cluster.AddInstance()”添加新的群集实例


您好,我正在尝试设置mysql InnoDB集群体系结构,到目前为止,我在3台不同的服务器上安装了mysql Server5.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兼容。

我如何使用MySQL5.7解决这个问题?


共1个答案

匿名用户

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