DBAtlas · データベース運用アトラス

1836: ER_READ_ONLY_MODE: Running in read-only mode(読み取り専用モードで稼働中)

MySQL

意味

InnoDB が読み取り専用モード (innodb_read_only=ON) で稼働している、またはデータディレクトリ/メディアが読み取り専用であり、InnoDB テーブルへの書き込みと DDL が拒否される。注: read_only/super_read_only 有効時の書き込み試行はこのコードではなく 1290 (ER_OPTION_PREVENTS_STATEMENT) を返す。

原因

サーバーが innodb_read_only=ON で起動された (例: 読み取り専用メディア、共有データディレクトリ、分析用コピー)。このモードでは InnoDB テーブルに対して INSERT/UPDATE/DELETE や CREATE/DROP/ALTER TABLE などの変更を行えない。

対処方法

書き込みが必要な場合は innodb_read_only なしでサーバーを起動する: my.cnf から innodb_read_only=ON の行を削除して再起動する (この変数は動的ではなく再起動が必要)。状態の確認: SELECT @@innodb_read_only; データディレクトリとファイルシステムが書き込み可能であることを確認する。レプリカ/HA セカンダリに書き込んでいる場合 (1290) は、書き込みをプライマリに振り向ける。

DBAtlas で開く →

同じデータベースの他の項目