次の関数を使用すると、レプリケーショングループが実行されているモード (単一プライマリモードまたはマルチプライマリモード) を制御できます。
-
group_replication_switch_to_single_primary_mode()
グループレプリケーションを停止せずに、マルチプライマリモードで実行されているグループを単一プライマリモードに変更します。 マルチプライマリモードで実行されているレプリケーショングループのメンバーに対して発行する必要があります。 シングルプライマリモードに変更すると、シングルプライマリモード (
group_replication_enforce_update_everywhere_checks=OFF
) での必要に応じて、すべてのグループメンバーで厳密な整合性チェックも無効になります。構文:
STRING group_replication_switch_to_single_primary_mode([str])
引数:
str
: 新しい単一のプライマリになるグループのメンバーの UUID を含む文字列。 グループの他のメンバーはセカンダリになります。
戻り値:
成功したかどうかなど、操作の結果を含む文字列。
例:
SELECT group_replication_switch_to_single_primary_mode(member_uuid);
詳細は、セクション18.4.1.2「グループモードの変更」を参照してください
-
group_replication_switch_to_multi_primary_mode()
シングルプライマリモードで実行されているグループをマルチプライマリモードに変更します。 単一プライマリモードで実行されているレプリケーショングループのメンバーに対して発行する必要があります。
構文:
STRING group_replication_switch_to_multi_primary_mode()
この関数にはパラメータがありません。
戻り値:
成功したかどうかなど、操作の結果を含む文字列。
例:
SELECT group_replication_switch_to_multi_primary_mode()
グループに属するすべてのメンバーがプライマリになります。
詳細は、セクション18.4.1.2「グループモードの変更」を参照してください