DBAtlas · Atlas für Datenbankbetrieb

1290: ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option

MySQL

Was bedeutet das?

Der MySQL-Server hat eine datenändernde Anweisung (INSERT/UPDATE/DELETE/DDL) abgelehnt, weil er mit der Option --read-only oder --super-read-only läuft. Unter read_only können Benutzer mit CONNECTION_ADMIN/SUPER weiterhin schreiben; ist super_read_only aktiviert, können auch sie es nicht, und die Meldung lautet '--super-read-only option'.

Ursache

read_only=ON oder super_read_only=ON; meist ein versehentlicher Schreibversuch auf einer Replica. Replicas und Group-Replication-Secondaries werden für die Datenkonsistenz schreibgeschützt gehalten; Failover-Automatisierung setzt den alten Primary auf super_read_only. Auch Schreiben auf den falschen Knoten während Failover/Switchover löst den Fehler aus.

Lösung

Leite Schreibzugriffe auf den Primary-Server (Source). Soll dieser Server tatsächlich der neue Primary werden: SET GLOBAL read_only = OFF; (das Abschalten von read_only schaltet automatisch auch super_read_only ab; das Einschalten von super_read_only schaltet auch read_only ein). Ändere es nicht manuell auf Knoten, die dein HA-Tool verwaltet (Orchestrator/Group Replication/InnoDB Cluster). Zustand prüfen: SELECT @@read_only, @@super_read_only;

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank