DBAtlas · 数据库运维图谱

1290: ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option(以 --read-only 选项运行)

MySQL

含义

MySQL 服务器以 --read-only 或 --super-read-only 选项运行,因此拒绝了修改数据的语句(INSERT/UPDATE/DELETE/DDL)。在 read_only 下,具有 CONNECTION_ADMIN/SUPER 权限的用户仍可写入;启用 super_read_only 后他们也无法写入,消息显示为 '--super-read-only option'。

原因

read_only=ON 或 super_read_only=ON;最常见的是误向副本写入。为保证数据一致性,副本和 Group Replication 的从节点保持只读;故障转移自动化会将旧主库置于 super_read_only。在故障转移/switchover 期间写入错误节点也会触发。

解决方法

将写入路由到主库(source)。如果此服务器确实应成为新主库:SET GLOBAL read_only = OFF;(关闭 read_only 会自动同时关闭 super_read_only;开启 super_read_only 也会同时开启 read_only)。不要在由 HA 工具(Orchestrator/Group Replication/InnoDB Cluster)管理的节点上手动修改。检查状态:SELECT @@read_only, @@super_read_only;

在 DBAtlas 中打开 →

同一数据库的其他条目