私はMySQLレプリケーションを構成中であり、行ベースのレプリケーションを使用するつもりですが、混合ベースのレプリケーションについても読んでいました。
これは、ステートメントベースがデフォルトであり、特定の状況では( http://dev.mysql.com/doc/refman/5.1/en/binary-log-mixed.html )MySQLが行ベースに切り替えます。
このリストは、行ベースにいつ切り替わるかについてはかなり広大です。
私の質問は次のとおりです。
混合を使用している人はいますか?はいの場合、なぜどちらか一方を使用するよりもこれを選択したのですか?
前もって感謝します
混合を使用している人はいますか?
MySQLリファレンスマニュアル :によると、これは長い間デフォルトであったため、多くの人が混合モードレプリケーションを使用しているに違いありません。
MySQL5.1.12からMySQL5.1.28まで、混合フォーマットがデフォルトです。 MySQL 5.1.29以降、ステートメントベースの形式がデフォルトです。
MySQL Performance Blog は、さまざまなレプリケーション方法に関するさまざまな問題について説明しています。
したがって、MySQLは5.1.xシリーズ内で混合モード、ステートメントベース、および行ベースのレプリケーションを切り替えようとしているようですが、それは不安です。
私は現在読んでいます High Performance MySQL、Second Edition O'Reillyから。レプリケーションに関するすばらしい章があり、読む価値があります。私の質問の多くは、1時間の読書で答えられました。 第8章レプリケーション>内部でのレプリケーション-357ページ :の章の一部を読むことができます。
どちらの形式もすべての状況に最適ではないため、MySQL5.1はステートメントベースのレプリケーションと行ベースのレプリケーションを動的に切り替えます。デフォルトでは、ステートメントベースのレプリケーションを使用しますが、ステートメントで正しくレプリケートできないイベントを検出すると、行ベースのレプリケーションに切り替わります。 binlog_formatセッション変数を設定することにより、必要に応じてフォーマットを制御することもできます。