無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 14 MySQL Cluster :: 14.10 MySQL Cluster レプリケーション :: 14.10.5 レプリケーションにクラスタを準備する
« 14.10.4 レプリケーション スキーマおよびテーブル

14.10.6 レプリケーションの開始 (シングル レプリケーション チャネル) »
Section Navigation      [Toggle]
  • 14.10 MySQL Cluster レプリケーション
  • 14.10.1 略語と記号
  • 14.10.2 仮定条件と一般要件
  • 14.10.3 既知の問題
  • 14.10.4 レプリケーション スキーマおよびテーブル
  • 14.10.5 レプリケーションにクラスタを準備する
  • 14.10.6 レプリケーションの開始 (シングル レプリケーション チャネル)
  • 14.10.7 2 つのレプリケーション チャネルを使用する
  • 14.10.8 MySQL Cluster にフェールオーバーを導入する
  • 14.10.9 MySQL Cluster のレプリケーションによるバックアップ

14.10.5. レプリケーションにクラスタを準備する

MySQL Cluster のレプリケーションに準備をるには以下のステップを踏みます。

  1. すべての MySQL サーバーのバージョンの互換性をチェックします (項14.10.2. 「仮定条件と一般要件」 参照)。

  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';
    

    (このステートメントで使用する節の完全なリストは、項12.6.2.1. 「CHANGE MASTER TO 構文」 を参照してください。)

    スレーブのサーバー my.cnf ファイルの相当する設定オプションを設定してマスタを使用するスレーブを設定することもできます。前述の例 CHANGE MASTER TO ステートメントと同じようにスレーブを設定するには、スレーブのmy.cnf ファイルに以下の情報を含める必要があります。

    [mysqld]
    master-host=rep-master
    master-port=3306
    master-user=myslave
    master-password=53cr37
    

    レプリケーション スレーブに my.cnf で設定できるその他のオプションについては、項5.1.3. 「レプリケーションのオプションと変数」 を参照してください。

    注:レプリケーションのバックアップ機能を検証するには、レプリケーションのプロセスを始める前に ndb-connectstring オプションのスレーブの my.cnf ファイルに追加する必要があります。.詳細は 項14.10.9. 「MySQL Cluster のレプリケーションによるバックアップ」 を参照してください。

  4. マスタ クラスタが既に使用されている場合、マスタのバックアップを作成しそれをスレーブにアップロードしてスレーブがマスタに同期する時間を節約することができます。スレーブが MySQL Cluster で稼動している場合には、バックアップを使用して項14.10.9. 「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 で使用する完全なオプションのリストは、項7.12. 「mysqldump ? データベースバックアッププログラム」 を参照してください。

    このようにデータをスレーブにコピーするには、スレーブがコマンドラインで --skip-slave-start オプションで起動していることを確認するかあるいは skip-slave-start をスレーブの my.cnf ファイルに入れてマスタへの接続させないようにしてすべてのデータがロードされる前にレプリケーションを始めます。データのローディングが完了したら、次の 2 項で説明するステップに従います。

  5. レプリケーション マスタとしての各 MySQL サーバーが一意のサーバーID で設定されているか、バイナリのロギングが有効になっているか、行フォーマットを使用しているか確認します。( 項5.1.2. 「レプリケーション フォーマット」 参照。)これらのオプションはマスタのmysql プロセスを実行する際にマスタのサーバー my.cnf ファイル、あるいはコマンドラインのいずれかに設定できます。後者のオプションの関する情報については、項14.10.6. 「レプリケーションの開始 (シングル レプリケーション チャネル)」 を参照してください。

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.