Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
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
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.