- 17.4.1.1 レプリケーションと AUTO_INCREMENT
- 17.4.1.2 レプリケーションと BLACKHOLE テーブル
- 17.4.1.3 レプリケーションと文字セット
- 17.4.1.4 CREATE ... IF NOT EXISTS ステートメントのレプリケーション
- 17.4.1.5 CREATE TABLE ... SELECT ステートメントのレプリケーション
- 17.4.1.6 CREATE SERVER、ALTER SERVER、および DROP SERVER のレプリケーション
- 17.4.1.7 CURRENT_USER() のレプリケーション
- 17.4.1.8 DROP ... IF EXISTS ステートメントのレプリケーション
- 17.4.1.9 テーブル定義が異なるマスターとスレーブでのレプリケーション
- 17.4.1.10 レプリケーションと DIRECTORY テーブルオプション
- 17.4.1.11 呼び出される機能のレプリケーション
- 17.4.1.12 レプリケーションと浮動小数点値
- 17.4.1.13 レプリケーションと小数秒サポート
- 17.4.1.14 レプリケーションと FLUSH
- 17.4.1.15 レプリケーションとシステム関数
- 17.4.1.16 レプリケーションと LIMIT
- 17.4.1.17 レプリケーションと LOAD DATA INFILE
- 17.4.1.18 レプリケーションと REPAIR TABLE
- 17.4.1.19 レプリケーションとマスターまたはスレーブシャットダウン
- 17.4.1.20 レプリケーションと max_allowed_packet
- 17.4.1.21 レプリケーションと MEMORY テーブル
- 17.4.1.22 レプリケーションと一時テーブル
- 17.4.1.23 mysql システムデータベースのレプリケーション
- 17.4.1.24 レプリケーションとクエリーオプティマイザ
- 17.4.1.25 レプリケーションと予約語
- 17.4.1.26 レプリケーション中のスレーブエラー
- 17.4.1.27 サーバー側ヘルプテーブルのレプリケーション
- 17.4.1.28 レプリケーションとサーバー SQL モード
- 17.4.1.29 レプリケーション再試行とタイムアウト
- 17.4.1.30 レプリケーションとタイムゾーン
- 17.4.1.31 レプリケーションとトランザクション
- 17.4.1.32 レプリケーションとトリガー
- 17.4.1.33 レプリケーションと TRUNCATE TABLE
- 17.4.1.34 レプリケーションと変数
- 17.4.1.35 レプリケーションとビュー
以降のセクションでは、MySQL レプリケーションでサポートされていることとされていないことに関する情報、および特定のステートメントの複製時に発生する可能性がある固有の問題と状況に関する情報を提供します。
ステートメントベースレプリケーションは、SQL レベルでのマスターとスレーブ間の互換性に依存します。つまり、SBR が成功するには、使用する SQL 機能がマスターおよびスレーブサーバーの両方でサポートされる必要があります。たとえば、マスターサーバーで MySQL 5.6 (以降) でのみ利用できる機能を使用する場合、MySQL 5.5 (以前) を使用するスレーブに複製できません。
このような非互換性は、本番前リリースの MySQL を使用するときのリリースシリーズ内で発生することもあります。たとえば、SLEEP()
関数は MySQL 5.0.12 以降で使用できます。この関数をマスターで使用する場合、MySQL 5.0.11 以前を使用するスレーブに複製できません。
このため、本番設定のステートメントベースレプリケーションには、GA (Generally Available) リリースの SQL を使用してください。あるリリースシリーズが GA リリースステータスに到達すると、オラクルはそのシリーズ内で新しい SQL ステートメントを導入したりそれらの機能を変更したりしないためです。
MySQL 5.6 と 1 つ前の MySQL リリースシリーズとの間でステートメントベースレプリケーションを使用することを計画している場合は、そのシリーズのレプリケーション特性に関する情報について、以前のリリースシリーズに対応するエディションの MySQL リファレンスマニュアルを参照することもお勧めします。
MySQL のステートメントベースレプリケーションでは、ストアドルーチンまたはトリガーの複製で問題が発生する場合があります。これらの問題は、代わりに MySQL の行ベースのレプリケーションを使用することで回避できます。問題の詳細な一覧は、セクション20.7「ストアドプログラムのバイナリロギング」を参照してください。行ベースロギングおよび行ベースレプリケーションに関する詳細は、セクション5.2.4.1「バイナリロギング形式」およびセクション17.1.2「レプリケーション形式」を参照してください。
レプリケーションおよび InnoDB
に固有の追加情報については、セクション14.17「InnoDB と MySQL レプリケーション」を参照してください。MySQL Cluster でのレプリケーションに関連する情報は、セクション18.6「MySQL Cluster レプリケーション」を参照してください。