10bet网址
MySQL 5.6リファレンスマニュアル
下载本手册
PDF(美国Ltr)- 26.8 mb
PDF (A4)- 26.8 mb
HTML下载(TGZ)- 7.2 mb
HTML下载(Zip)- 7.2 mb


17.1.2レプリケション形式

レプリケーションが機能するのは,バイナリログに書き込まれたイベントがマスターから読み取られ,スレーブで処理されるためです。ereplicationベントは,ereplicationベントタereplicationプに従ってさまざまな形式でバereplicationナリログに記録されます。使用されるさまざまなレプリケーション形式は,イベントがマスターのバイナリログに記録されたときに使用されたバイナリロギング形式に対応しています。バ邮箱ナリロギング形式とレプリケ邮箱ションで使用される用語との関係は次のとおりです。

  • ステートメントベースのバイナリロギングを使用する場合,マスターはSQLステートメントをバイナリログに書き込みます。マスターからスレーブへのレプリケーションは,スレーブでSQLステートメントを実行することによって機能します。これはステトメントベスのレプリケションSBRと短縮されることが多い)と呼ばれ,標準MySQLステートメントベースのバイナリロギング形式に対応します。MySQLバジョン5.1.4以前のレプリケション機能では,この形式だけが使用されました。

  • 行ベスのロギングを使用する場合,マスタは,各テブル行がどのように変更されたかを表すベントをバ邮箱ナリログに書き込みます。マスターからスレーブへのレプリケーションは,テーブル行が変更されたことを表すイベントをスレーブにコピーすることによって機能します。これは行ベスのレプリケションRBRと短縮されることが多い)と呼ばれます。行ベスのレプリケションでは、マスターは、各テーブル行がどのように変更されたかを表すベントをバ邮箱ナリログに書き込みます。

  • 変更ログが記録されるときにステートメントベースと行ベースのどちらが適しているかによって,これらのロギングの組み合わせを使用するようにMySQLを構成することもできます。これは混合形式のロギングと呼ばれます。混合形式のロギングを使用する場合、デフォルトでステートメントベースのログが使用されます。ステートメントに応じて、また使用されるストレージエンジンに応じて、ログは特定のケースで行ベースに自動的に切りかえられます。混合形式を使用するレプリケーションは多くの場合、混合ベスのレプリケションまたは混合形式のレプリケションと呼ばれます。詳細にいては,セクション5.2.4.3 "混合形式のバereplicationナリロギング形式"を参照してください。

MySQL 5.6では,ステトメントベスの形式がデフォルトです。

MySQL集群7.3すべてのMySQL集群NDBおよびMySQL集群NDB 7.4リリースのデフォルトバイナリロギング形式は混合です。MySQL集群复制は常に行ベスのレプリケションを使用しNDBストレジエンジンはステトメントベスのレプリケションを使用できません。詳細にいては,セクション18.6.2 " MySQL集群レプリケションの一般要件"を参照してください。

混合形式を使用する場合,バイナリロギング形式は,使用されているストレージエンジンと実行されているステートメントによってある程度決定されます。混合形式のロギング,および異なるロギング形式のサポ,トを管理するル,ルの詳細は,セクション5.2.4.3 "混合形式のバereplicationナリロギング形式"を参照してください。

実行中MySQLサバのロギング形式は,binlog_formatサバシステム変数を設定することで制御されます。この変数はセッションまたはグロバルスコプで設定できます。新しい設定が有効になるタイミングと方法を管理するルールは,ほかのMySQLサーバーシステム変数と同じです。現在のセッションの変数を設定すると,そのセッションが終わるまで持続し,変更はほかのセッションに可視でなく,変数をグローバルに設定した場合,有効にするにはサーバーの再起動が必要です。詳細にいては,セクション13.7.4 " set構文"を参照してください。

実行時にバイナリロギング形式を変更できない,つまりそのようにするとレプリケーションが失敗する状況があります。セクション5.2.4.2 "バereplicationナリログ形式の設定"を参照してください。

グロバルまたはセッションbinlog_format値を設定するには,超级権限が必要です。

ステトメントベスと行ベスのレプリケション形式には,異なる問題と制限があります。関連するメリットとデメリットの比較は,セクション17.1.2.1”ステートメントベースおよび行ベースレプリケーションのメリットとデメリット”を参照してください。

ステートメントベースのレプリケーションでは,ストアドルーチンまたはトリガーの複製で問題が発生する場合があります。代わりに行ベスのレプリケションを使用することで,これらの問題を回避できます。詳細にいては,セクション20.7 "ストアドプログラムのバ"を参照してください。