【问题标题】:Innodb Cluster upgradeMetadata on broken clusterInnodb 集群升级损坏集群上的元数据
【发布时间】:2020-05-31 00:28:36
【问题描述】:

我们有一个由 3 个节点组成的集群,其中 2 个处于脱机状态(缺失),我无法让它们自动重新加入集群,只有主节点处于联机状态。

通常,您可以使用 innodb admin:

var cluster = dba.getCluster();

但我无法使用集群实例,因为元数据不是最新的。但是我无法升级元数据,因为缺少的成员需要在线才能使用 dba.upgradeMetadata()。 (第 22 条)

我尝试使用以下方法解散集群:

var cluster = dba.rebootClusterFromCompleteOutage();

cluster.dissolve({force:true});

但这也需要更新元数据。

问题是,如何完全解散集群或升级元数据以便我可以使用集群。方法。

【问题讨论】:

    标签: mysql-innodb-cluster


    【解决方案1】:

    在 MySQL Shell 8.0.20 中修复了这个“鸡生蛋”问题。现在允许在这种情况下使用 dba.rebootClusterFromCompleteOutage():

    BUG#30661129 – DBA.UPGRADEMETADATA() 和 DBA.REBOOTCLUSTERFROMCOMPLETEOUTAGE() 互相阻塞

    更多信息请访问:https://mysqlserverteam.com/mysql-shell-adminapi-whats-new-in-8-0-20/

    【讨论】:

    • 太棒了!是的,这是一个真正的烦恼。我很高兴看到他们正在努力。
    【解决方案2】:

    如果您有一个集群,其中每个节点都升级到最新版本的 mysql,但集群未完全运行,您需要更新 mysqlsh 的元数据,例如,您需要使用旧版本的 mysqlsh, https://downloads.mysql.com/archives/shell/ 让集群恢复运行。启动并运行后,您可以在 R/W 节点上使用 dba.upgrademetadata - 确保更新所有路由器,否则它们将失去连接。

    【讨论】:

      猜你喜欢
      • 2016-08-02
      • 2021-06-01
      • 2023-04-03
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 2018-11-14
      • 1970-01-01
      • 2021-12-15
      相关资源
      最近更新 更多