web-dev-qa-db-ja.com

/etc/my.cnfファイルでbinlog-format = ROWを起動時のデフォルトにするにはどうすればよいですか?

クエリSET GLOBAL binlog_format = 'ROW'を実行すると、そのセッションで機能します。

MySQLを停止して再起動した後、この設定を維持するにはどうすればよいですか?

注:私はMySQLのバージョン5.5.19(Moodleを使用)を使用していて、MyISAMからInnoDBにアップグレードしたばかりなので、この新しい設定が必要です。

私はmy.cnfに次の2つのコマンドを(個別に)追加しようとしました:binlog-format = ROWおよびbinlog_format = ROWで、どちらも機能しません。 my.cnfを変更するたびに、MySQLを停止して再起動しました。

これを設定しないと発生するエラーは、悪質なエラーメッセージです。

デバッグ情報:ステートメントを実行できません:BINLOG_FORMAT = STATEMENTおよび少なくとも1つのテーブルが行ベースのロギングに限定されたストレージエンジンを使用しているため、バイナリログに書き込むことができません。トランザクション分離レベルがREAD COMMITTEDまたはREAD UNCOMMITTEDの場合、InnoDBは行ロギングに制限されます。

9
Constance

あなたの問題はあなたが指令を書いた場所から生じていると思う

/etc/my.cnfの[mysqld]ヘッダーの下にオプションを配置してください。

[mysqld]
binlog_format = ROW

他のヘッダーの下に配置すると、mysqldプロセスはそれを認識しません。

試してみる !!!

15
RolandoMySQLDBA