我有一个 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 配置文件中反映此更改。