DBAtlas · Atlas de operaciones de bases de datos

1290: ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option (se ejecuta con la opción --read-only)

MySQL

¿Qué significa?

El servidor MySQL rechazó una sentencia que modifica datos (INSERT/UPDATE/DELETE/DDL) porque se ejecuta con la opción --read-only o --super-read-only. Con read_only, los usuarios con CONNECTION_ADMIN/SUPER todavía pueden escribir; con super_read_only habilitado tampoco pueden, y el mensaje dice '--super-read-only option'.

¿Por qué ocurre?

read_only=ON o super_read_only=ON; lo más habitual, un intento accidental de escritura en una réplica. Las réplicas y los secundarios de Group Replication se mantienen en solo lectura por consistencia de datos; la automatización de failover pone el antiguo primario en super_read_only. Escribir en el nodo equivocado durante un failover/switchover también lo provoca.

Cómo solucionarlo

Dirija las escrituras al servidor primario (source). Si este servidor realmente debe convertirse en el nuevo primario: SET GLOBAL read_only = OFF; (desactivar read_only desactiva automáticamente también super_read_only; activar super_read_only también activa read_only). No lo cambie manualmente en nodos gestionados por su herramienta de HA (Orchestrator/Group Replication/InnoDB Cluster). Para comprobar el estado: SELECT @@read_only, @@super_read_only;

Abrir en DBAtlas →

Más entradas de este motor