MySQLは,あるメジャーバージョンから次以降のメジャーバージョンへのレプリケーションをサポートします。たとえばMySQL 4.1を実行するマスターからMySQL 5.0を実行するスレーブ,MySQL 5.0を実行するマスターからMySQL 5.1を実行するスレーブなどへの複製ができます。
ただし,古いマスターから新しいスレーブに複製するときに,マスターがスレーブ上で使用されているバージョンのMySQLでもうサポートされていないステートメントを使用したり,そのような動作に依存したりする場合は,問題が発生することがあります。たとえば,MySQL 5.5では,创建表…选择
ステートメントが,作成済みでないテーブルを変更することが許可されますが,MySQL 5.6では許可されなくなりました(セクション17.4.1.5 " create table…选择ステ,トメントのレプリケ,ション”を参照してください)。
2つを超えるMySQL服务器バージョンを使用することは,マスターまたはスレーブMySQLサーバーの数にかかわらず,複数のマスターを使用するレプリケーションセットアップでサポートされません。この制限は,メジャーバージョンだけではなく,同じメジャーバージョン内のマイナーバージョンにも適用されます。たとえば,チェーンまたは循環レプリケーションセットアップを使用している場合,MySQL 5.6.1, MySQL 5.6.2,およびMySQL 5.6.4は同時に使用できませんが,これらのリリースの任意の2つを一緒に使用することはできます。
場合によっては,マスターと,マスターよりメジャーバージョン2つ以上新しいスレーブとの間で複製できます。ただしMySQL 4.1以前を実行するマスターからMySQL 5.1以降を実行するスレーブに複製しようとすることに関する既知の問題があります。このような問題に対処するために,2つの間に中間バージョンを実行するMySQLサーバーを挿入できます。たとえばMySQL 4.1マスターからMySQL 5.1スレーブに直接複製するのではなく,MySQL 4.1サーバーからMySQL 5.0サーバーに複製してから,MySQL 5.0サーバーからMySQL 5.1サーバーに複製できます。
レプリケーション(およびほかの)機能は継続的に改善されているので,そのMySQLメジャーバージョン内で使用可能な最新リリースを使用することを強くお勧めします。またMySQLメジャーバージョンの早期リリースを使用するマスターとスレーブはGA(本番環境)リリースに更新することをお勧めします(そのメジャーバージョンで後者を入手できるようになったとき)。
新しいマスタ,から古いスレ,ブに複製できる場合がありますが,一般的にはサポ,トされません。これはいくかの要因によります。
バ@ @ナリログ形式の変更バナリログ形式はメジャリリス間で変わることがあります。下位互換性を維持しようと試みてはいますが,これがいか可能なわけではありません。たとえばMySQL 5.0に実装されたバイナリログ形式は,以前のバージョンで使用されたものから大幅に変わりました(特に,文字セット,
加载数据文件
,およびタaapl . exe,およびタaapl . exe .ムゾ.ンの扱いに関して)。これは,MySQL 5.0(以降)マスターからMySQL 4.1(以前)スレーブへのレプリケーションは一般的にサポートされないことを意味します。これは,レプリケ,ションサ,バ,のアップグレ,ドにも密接な関係があります。詳細は,セクション17.4.3 "レプリケ,ションセットアップをアップグレ,ドする"を参照してください。
行ベ,スレプリケ,ションの使用行ベースレプリケーションがMySQL是5.1.5で実装されたため,行ベースレプリケーションを使用してMySQL 5.6以降のマスターからMySQL是5.1.5より古いスレーブに複製することはできません。
行ベ,スレプリケ,ションの詳細は,セクション17.1.2“レプリケション形式”を参照してください。
SQL非互換複製されるステートメントが,マスター上で利用できるけれどもスレーブ上で利用できないSQL機能を使用する場合は,ステートメントベースレプリケーションを使用して新しいマスターから古いスレーブに複製することはできません。
ただし,マスターとスレーブの両方が行ベースレプリケーションをサポートし,複製するデータ定義ステートメントにマスター上で見つかるけれどもスレーブ上で見つからないSQL機能に依存するものがない場合は,行ベースレプリケーションを使用してデータ変更ステートメントの効果を複製できます(マスター上で実行されるDDLがスレーブ上でサポートされない場合でも)。
MySQL 5.6の重要な変数以前のMySQLバージョンに複製するときに無効にする必要がある機能が,MySQL 5.6に追加されています。非互換を回避するには,MySQL 5.6マスタ,で次の変数を設定してください。
binlog_checksum =没有
binlog_row_image =全
binlog_rows_query_log_events =了
log_bin_use_v1_row_events = 1
gtid_mode =了
潜在的なレプリケ,ション問題の詳細は,セクション17.4.1“レプリケ,ションの機能と問題”を参照してください。