Binary logging not possible. Message: %s

提供:MySQL Practice Wiki

移動: 案内, 検索

エラー概要

MySQLエラー番号 1598
SQLSTATE HY000
エラー名 ER_BINLOG_LOGGING_IMPOSSIBLE
メッセージ Binary logging not possible. Message: %s
障害部位 mysqld
該当バージョン 5.1+
エラーの原因 以下を参照。
対策 以下を参照。
備考 nada

原因

バイナリログは、MySQLサーバに対して行われた更新を格納するログであるが、順番に更新を格納しないとデータの整合性がとれない場合がある。MySQL 5.1ではこれまでのステートメントベースレプリケーションSBR)に加えて行ベースレプリケーションRBR)が追加されたが、特に既存のSBRでは更新の整合性を保つのが難しいといった問題がある。

分離レベルREAD COMMITTEDの場合、または--innodb-locks-unsafe-for-binlogオプションが利用されている場合、MySQL 5.1ではRBRを利用しなくてはならない。SBRでは整合性を取るのが難しいからだ。従って、クライアントに返されるメッセージは次のようになる。

Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'

その他のパターンとしては次のものがある。

Statement cannot be logged to the binary log in row-based nor statement-based format
Statement-based format required for this statement, but not allowed by this combination of engines
Row-based format required for this statement, but not allowed by this combination of engines

対処法

行ベースレプリケーションまたはミクスドモードレプリケーションを使う。

個人用ツール