我无法从 MySQL InnoDB Cluster 中删除实例,出现有关 get_string(7) 的错误:字段为 NULL(LogicError)

我无法从 MySQL InnoDB Cluster 中删除实例,出现有关 get_string(7) 的错误:字段为 NULL(LogicError)

我有一个 MySQL InnoDB 集群(版本 5.7)。我只有两个服务器,一个主服务器和一个从服务器。

我尝试移除主实例,让从属实例升级为主实例。
当我执行命令时cluster.removeInstance('root@mysql-master:3306')。我收到错误:

The instance will be removed from the InnoDB cluster. Depending on the instance
being the Seed or not, the Metadata session might become invalid. If so, please
start a new session to the Metadata Storage R/W instance.

Cluster.removeInstance: get_string(7): field is NULL (LogicError)

我找不到有关此错误消息的任何解决方案。有人能帮助我吗?

答案1

只是出于好奇,为什么您只有 2 台带有 InnoDB 集群的服务器?是不是这样您就可以使用 MySQL Router 自动配置功能?

无论如何,只要关闭主服务器,从属服务器就会成为主服务器。

我刚刚尝试使用 MySQL 5.7.24 设置 3 个服务器,但出现了同样的错误。这肯定是方法实现中的一个错误,尽管它确实会检查服务器名称(尝试使用假名称,您将看到不同的错误)。

您可以通过删除 mysql_innodb_cluster_metadata 数据库中实例和主机表中该服务器的条目来手动删除该实例。您还应该在 mysql 配置文件中反映此更改。

相关内容