DBAtlas · Atlas de operaciones de bases de datos

Switchover planificado del primario en InnoDB Cluster

MySQLInnoDB Cluster

Comando

# Shell: planned switchover
mysqlsh icadmin@db1:3306 -- cluster set-primary-instance db2:3306

-- SQL alternative: target member's server_uuid, 30 s timeout for open transactions
SELECT MEMBER_HOST, MEMBER_ID, MEMBER_ROLE FROM performance_schema.replication_group_members;
SELECT group_replication_set_as_primary('3f06e651-c356-11f1-8aac-927a9034ef99', 30);

Qué hace

Mueve de forma controlada el rol primario a otro miembro en modo single-primary; el antiguo primario pasa a super_read_only y el nuevo aplica su atraso y se abre a escrituras. MySQL Router conoce automáticamente el nuevo primario.

Cuándo usarlo

Antes de un mantenimiento, parches del SO o un upgrade del primario, y para traslados de hardware.

Precaución

Las transacciones abiertas en el antiguo primario se matan cuando vence el timeout; sin timeout, el cambio las espera y tarda más. Si la aplicación no se conecta a través de Router, debe redirigirla usted mismo. Con BEFORE_ON_PRIMARY_FAILOVER las escrituras esperan hasta que el nuevo primario ha vaciado su atraso; confirme antes que apply_queue está vacío en cluster status. En InnoDB Cluster es preferible el comando de Shell; se mantiene coherente con los metadatos.

Abrir en DBAtlas →

Relacionado