Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


18.6.5 レプリケーションのための MySQL Cluster の準備

レプリケーションのための MySQL Cluster の準備は、次のステップで構成されます。

  1. すべての MySQL サーバーに対してバージョンの互換性を確認します (セクション18.6.2「MySQL Cluster レプリケーションの一般要件」を参照してください)。

  2. マスタークラスタで適切な権限を持つスレーブのアカウントを作成します。

    mysqlM> GRANT REPLICATION SLAVE
         -> ON *.* TO 'slave_user'@'slave_host'
         -> IDENTIFIED BY 'slave_password';
    

    前のステートメントで、slave_user はスレーブアカウントのユーザー名、slave_host はレプリケーションスレーブのホスト名または IP アドレス、slave_password はこのアカウントに割り当てるパスワードです。

    たとえば、名前が myslave のスレーブのユーザーアカウントを作成するには、名前が rep-slave のホストからログインし、パスワード 53cr37 を使用して、次の GRANT ステートメントを使用します。

    mysqlM> GRANT REPLICATION SLAVE
         -> ON *.* TO 'myslave'@'rep-slave'
         -> IDENTIFIED BY '53cr37';
    

    セキュリティー上、レプリケーションスレーブのアカウントには (ほかの目的に使用しない) 一意のユーザーアカウントを使用することをお勧めします。

  3. スレーブがマスターを使用するように構成します。MySQL Monitor を使用すると、CHANGE MASTER TO ステートメントを使用してこれを実現できます。

    mysqlS> CHANGE MASTER TO
         -> MASTER_HOST='master_host',
         -> MASTER_PORT=master_port,
         -> MASTER_USER='slave_user',
         -> MASTER_PASSWORD='slave_password';
    

    前のステートメントでは、master_host はレプリケーションマスターのホスト名または IP アドレス、master_port はスレーブがマスターに接続するために使用されるポート、slave_user はマスターでスレーブ用にセットアップされたユーザー名、slave_password は前のステップでそのユーザーアカウント用に設定されたパスワードです。

    たとえば、ホスト名が rep-master の MySQL サーバーから、前のステップで作成されたレプリケーションスレーブのアカウントを使用して複製するようにスレーブに伝えるには、次のステートメントを使用します。

    mysqlS> CHANGE MASTER TO
         -> MASTER_HOST='rep-master',
         -> MASTER_PORT=3306,
         -> MASTER_USER='myslave',
         -> MASTER_PASSWORD='53cr37';
    

    このステートメントで使用できるオプションの完全なリストについては、セクション13.4.2.1「CHANGE MASTER TO 構文」を参照してください。

    レプリケーションのバックアップ機能を提供するには、レプリケーションプロセスを起動する前に、--ndb-connectstring オプションをスレーブの my.cnf ファイルに追加することも必要です。詳細は、セクション18.6.9「MySQL Cluster レプリケーションを使用した MySQL Cluster バックアップ」を参照してください。

    レプリケーションスレーブに my.cnf で設定できる追加オプションは、セクション17.1.4「レプリケーションおよびバイナリロギングのオプションと変数」を参照してください。

  4. マスタークラスタがすでに使用中である場合、マスターのバックアップを作成し、それをスレーブにロードして、スレーブがマスターと同期を取る時間を削減できます。スレーブも MySQL Cluster を実行している場合、セクション18.6.9「MySQL Cluster レプリケーションを使用した MySQL Cluster バックアップ」 で説明されたバックアップとリストアの手順を使用して、これを実現できます。

    ndb-connectstring=management_host[:port]
    

    レプリケーションスレーブで MySQL Cluster を使用していない場合、レプリケーションマスターでこのコマンドを使用してバックアップを作成できます。

    shellM> mysqldump --master-data=1
    

    次に、ダンプファイルをスレーブにコピーして、その結果得られるデータダンプをスレーブにインポートします。この後、ここに示すように mysql クライアントを使用してデータをダンプファイルからスレーブのデータベースにインポートできます。ここで、dump_file はマスターで mysqldump を使用して生成されたファイルの名前であり、db_name は複製されるデータベースの名前です。

    shellS> mysql -u root -p db_name < dump_file
    

    mysqldump で使用するオプションの完全なリストは、セクション4.5.4「mysqldump — データベースバックアッププログラム」を参照してください。

    注記

    この方法でスレーブにデータをコピーする場合、すべてのデータがロードされる前に、スレーブがマスターに接続を試みてレプリケーションを開始しないようにするため、コマンド行で --skip-slave-start オプションを使用してスレーブが起動されたことを確認する必要があります。または、スレーブの my.cnf ファイルに skip-slave-start 含める必要があります。データのロードが完了したら、次の 2 つのセクションで説明する追加ステップに従います。

  5. レプリケーションマスターとして動作している各 MySQL サーバーが、一意のサーバー ID で構成され、バイナリロギングが有効化された状態で行フォーマットを使用して構成されていることを確認します。(セクション17.1.2「レプリケーション形式」を参照してください。)これらのオプションは、マスターサーバーの my.cnf ファイルで、またはマスターの mysqld プロセスを起動するときにコマンド行で設定できます。後者のオプションに関する情報については、セクション18.6.6「MySQL Cluster レプリケーションの起動 (レプリケーションチャネルが 1 つ)」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.