マスタースレーブと同期配備MySQLデータを実現します

まず、設置環境について説明し
、centos6.8
mysql5.7、
VMwareの仮想ホストを(マスター)192.168.5.108
VMwareは仮想マシン(スレーブ)待機マスタとスレーブマシンが-linux pingを実行できる必要がある間192.168.5.109が同時にデフォルトポート22が開かれました。
注意:それらの間で通信する必要があることであるので、3306ポートからマスターノードMySQLサービスは、オープンにする必要があります。私は、ファイアウォールをシャットダウン直接停止コマンドサービスのiptablesでここにいます。(本番環境では、ダイレクトクローズことはできません)。しかし、このコマンドは、この着陸のためにのみ有効です。恒久的にファイアウォールをオフにする必要があり、他のコマンドを使用してください。

第二に、マスターノードの構成
設定な/etc/my.cnfを-これは、MySQLの設定ファイルであります

サービスmysqldを再起動:その後、MySQLを再起動します。
ルートMySQLサービスのユーザーとしてログインし、ユーザのアクセス権からライブラリを作成し、次のコマンドを実行します。

* * WITH GRANT OPTIONを '%' ;. @ 'ルート' TO ON> GRANT ALL PRIVILEGES(これは、より少ないこと、オープンリモートコールの権限です)

/ * * / 192.168.5.109すなわち、スレーブマシンは、権限のファイルを持っているの付与
;. 'ルート' BY IDENTIFIED GRANT ON FILE * * TO 'root'@'192.168.5.109'>は
/ * 192.168.5.109スレーブ複製機構を与えられ、権限* /
> *の複製GRANT 'ルート' BY IDENTIFIED ON 'root'@'192.168.5.109'をスレーブに;
/ *更新* /
> FLUSH特権;
1
2
3。
4。
5。
6。
7。
8。
注:これは実証することです、rootユーザーにも与えられ、また、本番環境で追加のユーザーを設定してください。

初期状態は、ノードを確立することから(実際には、元のデータのバックアップ)

例えば、ここで私は、任意のデータテーブルを持っていないappdbデータベースを作成しました。その初期状態appdbデータベースは、データを同期する必要はありません、この単純では、唯一の同じデータベースからライブラリを作成する必要があります。
しかし、多くの場合、現実の世界は、この同期を拡張するために、すでにライン上のプロジェクトにシナリオがあるかもしれない、データベースの同期が、この時に必要とされるデータが存在する場合、最初のノードからデータをコピーする必要があり、その後、時間mysqldumpのコマンドはxx.sqlエクスポートファイルを達成するために使用することができます。SQLは、この文書は、ノードからノードの初期状態から実現することができるインポート。

再起動のMySQLは、MySQLでログインし、メインライブラリ情報を表示します

>サービスmysqldを再起動
> mysqlの-uroot -proot。
>ショーマスターのステータス。
1
2
3


ファイルフィールドことに注意してください、Positionフィールドを使用すると、構成ノードを使用する必要があり、後に記録されなければなりません。

構成ノードのから、第三
の構成な/etc/my.cnf -これは、MySQLの設定ファイルであります

サービスmysqldを再起動:その後、MySQLを再起動します。
ルートMySQLサービス、情報の指定されたマスターとしてログインします。

MySQLの>スレーブを停止;#は、スレーブを閉じます

ここでは(154とMySQL-bin.000002であるMySQLは>変更マスタは= '192.168.5.108'、master_user = 'ルート'、master_password = 'ルート'、MASTER_LOG_FILE = 'のMySQL-bin.000002'、MASTER_LOG_POS = 154 MASTER_HOSTします対応するホストのMySQLバイナリログファイル名とリーダーの位置)

MySQLの>スレーブ開始;#は、スレーブを開く
1
2
3。
4。
5。
設定を確認する成功した-コマンド:ショースレーブ状態の\ G。


上記の構成が成功したことを証明します参照、我々は上記の場所9行目の154は、それがあることに注意してください。

ここでは単にappdbデータベースの名前を作成するものの、初期状態を確立し、上記xx.sqlファイルをインポートする必要性についての基礎同期、データテーブルのデータの元の量、この時間です。
テスト

(最初はテーブルが存在しない)、それはtest1のデータシートを持つことができることがわかります、奴隷を見て、マスターテーブルtest1の上に新しい、そして
マスターのTEST1テーブル上のデータの一部を挿入し、その後、TEST1テーブルのスレーブを選択しますあなたが同様のデータベースを見つけるだろう、見て。
他のテーブルに同じ追加や削除は、データテーブルに、追加と削除を変更するには、スレーブが完全にappdbのデータベース内のマスタデータを同期されているでしょう。
1
2
3
これは、マスタ・スレーブ・アーキテクチャMySQLのバックアップを正常に完了したが、抜け穴があります:
例えば、データ同期で、私はノードから直接データを変更した場合、何が起こるのだろうか?私は、システムが文句を言うだろうと推定され、これを確認するために行っていない、それはスレーブ動作を停止します。結局のところ、これはすでに同期の本来の意図に反しています。ソリューションを改善するためのすべての必要性は、ユーザーがライブラリーからのデータを変更できるようにすることです。

つづきます

同期データがあるので、どのように復元するには?私は、HAのmysqlを行うことができますか?
本番環境での動作不良があった場合、どのようにデータをロールバックするには?
---------------------
著者:lisa_csdn
出典:CSDN
オリジナルます。https://blog.csdn.net/lisa_csdn/article/details/78684987
免責事項:この記事ブロガーのオリジナルの記事、複製など、ボーエンのリンクを添付してください!

おすすめ

転載: www.cnblogs.com/HKROnline-SyncNavigator/p/10972484.html