レプリケションのためのMySQL集群の準備は,次のステップで構成されます。
すべてのMySQLサバに対してバジョンの互換性を確認します(セクション18.6.2 " MySQL集群レプリケションの一般要件"を参照してください)。
マスタクラスタで適切な権限を持スレブのアカウントを作成します。
mysql米>在*上授予复制从端>。*“slave_user“@”slave_host' -> identified by 'slave_password”;
前のステトメントで,
slave_user
はスレブアカウントのユザ名,slave_host
はレプリケションスレブのホスト名またはIPアドレス,slave_password
はこのアカウントに割り当てるパスワドです。たとえば,名前が「
myslave
」のスレブのユザアカウントを作成するには,名前が「rep-slave
」のホストからログンし,パスワド「53 cr37
」を使用して,次の格兰特
ステトメントを使用します。mysql米>在*上授予复制从端>。*“myslave“@”rep-slave' -> identified by '53 cr37”;
セキュリティー上,レプリケーションスレーブのアカウントには(ほかの目的に使用しない)一意のユーザーアカウントを使用することをお勧めします。
スレブがマスタを使用するように構成します。MySQL Monitorを使用すると,
改变主
ステトメントを使用してこれを実現できます。mysql年代> 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サーバーから,前のステップで作成されたレプリケーションスレーブのアカウントを使用して複製するようにスレーブに伝えるには,次のステートメントを使用します。mysql年代> 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集群レプリケーションを使用したMySQL集群バックアップ”を参照してください。レプリケションスレブに
my.cnf
で設定できる追加オプションは,セクション17.1.4 "レプリケションおよびバナリロギングのオプションと変数"を参照してください。マスタークラスタがすでに使用中である場合,マスターのバックアップを作成し,それをスレーブにロードして,スレーブがマスターと同期を取る時間を削減できます。スレブもMySQL集群を実行している場合,セクション18.6.9“MySQL集群レプリケーションを使用したMySQL集群バックアップ”で説明されたバックアップとリストアの手順を使用して,これを実現できます。
ndb-connectstring =management_host[:港口]
レプリケションスレブでMySQL集群を使用していない場合,レプリケションマスタでこのコマンドを使用してバックアップを作成できます。
壳牌米>, mysqldump——主数据= 1
次に,ダンプファイルをスレーブにコピーして,その結果得られるデータダンプをスレーブにインポートします。この後,ここに示すようにmysqlクラ。ここで,
dump_file
はマスタで, mysqldumpを使用して生成されたファルの名前であり,db_name
は複製されるデタベスの名前です。壳牌年代> mysql -u root -pdb_name<dump_file
, mysqldumpで使用するオプションの完全なリストは,セクション4.5.4 ", mysqldump-デタベスバックアッププログラム”を参照してください。
注記この方法でスレーブにデータをコピーする場合,すべてのデータがロードされる前に,スレーブがマスターに接続を試みてレプリケーションを開始しないようにするため,コマンド行で
——skip-slave-start
オプションを使用してスレブが起動されたことを確認する必要があります。または,スレブのmy.cnf
ファ邮箱ルにskip-slave-start
含める必要があります。デタのロドが完了したら,次の2。レプリケーションマスターとして動作している各MySQLサーバーが,一意のサーバーIDで構成され,バイナリロギングが有効化された状態で行フォーマットを使用して構成されていることを確認します。(セクション17.1.2 "レプリケション形式"を参照してください.)これらのオプションは,マスタ
my.cnf
ファルで,またはマスタのmysqldプロセスを起動するときにコマンド行で設定できます。後者のオプションに関する情報にいては,セクション18.6.6“MySQL集群レプリケーションの起動(レプリケーションチャネルが1つ)”を参照してください。