MySQL Shell 9.0  /  MySQL InnoDB 复制集  /  重新扫描复制集

9.13 重新扫描复制集

本节介绍如何使用 replicaSet.rescan() 检查复制集的一致性。

replicaSet.rescan() 操作执行以下操作

  • 确保每个成员的复制帐户都存储在元数据中。

    注意

    replicaSet.status() 还会检查是否有缺失的复制用户,并提示您运行 replicaSet.rescan() 将任何缺失的帐户添加到元数据中。

  • 检查是否有未管理的成员,并在配置为这样做的情况下添加它们。未管理的成员是复制集的一部分,但不在元数据中的实例。

  • 检查是否有过时的成员,并在配置为这样做的情况下删除它们。过时的成员是不属于复制集但存在于元数据中的实例。无效的实例将被忽略。

  • 确保每个复制集成员的 server_idserver_uuid 值都存储在元数据中。

添加未管理的实例

可以通过将选项 addUnmanaged 设置为 true 来配置 replicaSet.rescan() 添加未管理的实例。默认情况下,此选项设置为 false,并列出所有未管理的实例,但不会对复制集进行任何更改。

如果 replicaSet.rescan() 在交互模式下运行,则会列出未管理的实例,并提示您将它们添加到复制集中。

删除过时的实例

可以通过将选项 removeObsolete 设置为 true 来配置 replicaSet.rescan() 删除过时的实例。默认情况下,此选项设置为 false,并列出所有过时的实例,但不会对复制集进行任何更改。

如果 replicaSet.rescan() 在交互模式下运行,则会列出过时的实例,并提示您删除它们。