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


第17章レプリケーション

目次

17.1レプリケーション構成
17.1.1レプリケーションのセットアップ方法
17.1.2レプリケーション形式
17.1.3グローバルトランザクション識別子を使用したレプリケーション
17.1.4レプリケーションおよびバイナリロギングのオプションと変数
17.1.5一般的なレプリケーション管理タスク
17.2レプリケーションの実装
17.2.1レプリケーション実装の詳細
17.2.2レプリケーションリレーおよびステータスログ
17.2.3サーバーがレプリケーションフィルタリングルールをどのように評価するか
17.3レプリケーションソリューション
17.3.1バックアップ用にレプリケーションを使用する
17.3.2異なるマスターおよびスレーブストレージエンジンでレプリケーションを使用する
17.3.3スケールアウトのためにレプリケーションを使用する
17.3.4異なるデータベースを異なるスレーブに複製する
17.3.5レプリケーションパフォーマンスを改善する
17.3.6フェイルオーバー中にマスターを切り替える
17.3.7 SSLを使用してレプリケーションをセットアップする
17.3.8準同期レプリケーション
17.3.9遅延レプリケーション
17.4レプリケーションの注釈とヒント
17.4.1レプリケーションの機能と問題
17.4.2 MySQLバージョン間のレプリケーション互換性
17.4.3レプリケーションセットアップをアップグレードする
17.4.4レプリケーションのトラブルシューティング
17.4.5レプリケーションバグまたは問題を報告する方法

レプリケーションによって,1つのMySQLデータベースサーバー(マスター)のデータを,1つまたは複数のMySQLデータベースサーバー(スレーブ)に複製できます。レプリケーションはデフォルトで非同期であるため,スレーブはマスターから更新を受け取るために永続的に接続されている必要はありません。これは,長距離間接続でも,さらにダイアルアップサービスのような一時的または断続的接続上でも更新が可能であることを意味しています。構成に応じて,すべてのデータベース,選択したデータベース,さらにデータベース内の選択したテーブルを複製できます。

MySQL复制をはじめて使用する人がよくする質問の回答については,セクションa。13「MySQL 5.6 FAQ: レプリケーション」を参照してください。

MySQLのレプリケーションの長所は次のとおりです。

  • スケールアウトソリューション-パフォーマンスの向上のために複数のスレーブに負荷を分散します。この環境では,すべての書き込みと更新をマスターサーバーで実行する必要があります。ただし,読み取りの場合は,1つ以上のスレーブで実行してもかまいません。このモデルでは,書き込みのパフォーマンスを向上させながら(マスターが更新専用であるため),スレーブ数が増加しても読み取り速度を劇的に速めることができます。

  • データセキュリティー——データはスレーブに複製され,スレーブはレプリケーションプロセスを一時停止できるため,対応するマスターデータを壊すことなくスレーブでバックアップサービスを実行できます。

  • 分析——マスターでライブデータを作成しながら,スレーブで情報の分析を実行できるため,マスターのパフォーマンスに影響しません。

  • 長距離データ配布-支店でメインデータのコピーを使用して作業する場合に,レプリケーションを使用してデータのローカルコピーを作成してそれらを使用できます(マスターへの永続的なアクセスは不要)。

MySQLのレプリケーションの特徴は,一方向の非同期レプリケーションをサポートしていることであり,1つのサーバーがマスターとして機能し,1つまたは複数のサーバーがスレーブとして機能します。これは,MySQLクラスタの特徴である同期レプリケーションとは対照的です(第18章「MySQL Cluster NDB 7.3およびMySQL Cluster NDB 7.4を参照してください)。MySQL 5.6では,組み込みの非同期レプリケーションに加えて,準同期レプリケーションへのインタフェースがサポートされています。準同期レプリケーションでは、マスター側で実行されたコミットは、トランザクションを実行したセッションに戻る前に、少なくとも 1 つのスレーブがトランザクションのイベントを受け取ってログに記録したことを通知するまでブロックされます。セクション17.3.8“準同期レプリケーション”を参照してください。MySQL 5.6はスレーブサーバーが,少なくとも指定した時間だけ意図的にマスターより遅れるような遅延レプリケーションもサポートしています。セクション17.3.9 "遅延レプリケーション"を参照してください。

2つのサーバー間でレプリケーションをセットアップするために使用できるソリューションはいくつかありますが,最善の使用方法はデータの存在や使用しているエンジンタイプによって異なります。利用可能なオプションの詳細については,セクション17.1.1 "レプリケーションのセットアップ方法"を参照してください。

レプリケーション形式の主要なタイプは2つあり,1つは,SQLステートメント全体を複製する声明基于复制(SBR:ステートメントベースレプリケーション),もう1つは変更があった行だけを複製する基于连续复制(RBR:行ベースレプリケーション)です。基于3つ目の混合复制(MBR:ミックスベースレプリケーション)を使用することもできます。さまざまなレプリケーション形式の詳細については,セクション17.1.2“レプリケーション形式”を参照してください。MySQL 5.6では,ステートメントベースの形式がデフォルトです。

MySQL 5.6.5以降では,グローバルトランザクションid(gtid)に基づくトランザクションレプリケーションをサポートしています。このタイプのレプリケーションを使用するときは,ログファイルまたはこれらのファイル内の位置と直接連携する必要がないため,共通する多くのレプリケーションタスクが大幅に単純化されます。GTIDを使用するレプリケーションは完全にトランザクション対応であるため,マスターで確定されたすべてのトランザクションがスレーブでも適用されるかぎり,マスターとスレーブとの一貫性は保証されます。GtidおよびGtidベースのレプリケーションの詳細については,セクション17.1.3 "グローバルトランザクション識別子を使用したレプリケーション"を参照してください。

レプリケーションは,いくつかのオプションと変数によって制御されます。これらは,レプリケーション,タイムアウト,データベース,およびデータベースとテーブルに適用できるフィルターのコア操作を制御します。利用可能なオプションの詳細については,セクション17.1.4 "レプリケーションおよびバイナリロギングのオプションと変数"を参照してください。

レプリケーションを使用することで,いくつかの異なる問題を解決できます(パフォーマンスの問題,異なるデータベースのバックアップのサポート,より大きなソリューションの一部としてシステム障害を軽減する,など)。これらの問題の対処方法については,セクション17.3“レプリケーションソリューション”を参照してください。

レプリケーション機能の詳細,バージョン互換性,アップグレード,および問題とその解決(FAQを含む)など,さまざまなデータ型とステートメントがレプリケーション中にどのように処理されるかに関する説明とヒントについては,セクション17.4 "レプリケーションの注釈とヒント"を参照してください。

レプリケーションの実装,レプリケーションの仕組み,バイナリログのプロセスと内容,バックアップスレッド,およびステートメントの記録とレプリケーションの方法を決めるために使用されるルールの詳細については,セクション17.2 "レプリケーションの実装"を参照してください。


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb