まず、原則
プロセスに示すほぼとしてMySQLマスタスレーブ構成:
1)マスターは、バイナリを記録するログを変更します。
2)マスタがバイナリログスレーブを送信するI / Oスレッドを有しています。
3)スレーブI / Oスレッドは、ログ内のマスタ・リレーに送信バイナリに書き込むました。
4)は、スレーブSQLスレッドを有するスレーブリレーログに従ってデータを処理します。
第二に、手順
原則によると、私たちは、次の操作を行うための一般的な我々のニーズに、mysqlのマスタースレーブのレプリケーションを開きます。
1)マスタバイナリログを開きます
2)オープンスレーブバイナリログ
3)スレーブマスタ点
4)スタートコピー
第三には、マスターのバイナリログを開きます
1)編集MySQLの設定ファイル、コマンドを使用します。
VIMな/etc/my.cnf
2))、バイナリログの設定を追加し、バイナリ(マスター・ビンちょうどあなたがあなた自身を指定することができ、ファイル名をログを開きます
ログ・ビン=マスター・ビン
サーバID = 1
注:サーバIDがあることが指定されている、またはエラーとなり、それぞれが固有の識別子を割り当て
第四に、承認
私たちは、スレーブ権へのユーザー/パスワードを設定する必要があります
MySQLの> GRANT REPLICATION SLAVE ON * * TO 'ユーザ名' @ 'パスワードBY' IDENTIFIED 'スレーブデータベースのIPアドレス';
これは、コマンドラインの意味です:データベース内のすべての現在のデータベースとすべてのテーブルのコピー操作にパスワードを使用してIPアドレスをユーザーに許可します
注:上記の設定の権限は、私たちは、次のコマンドを使用する許可を更新する必要があります。
MySQLの>フラッシュ権限;
または単にMySQLサービスを再起動します。
サービスMySQLの再起動。
第五には、以下のマスタステータスを表示します
実際には、キーがマスターログファイル名とファイルの場所を見ることである、次のコマンドを使用します。
マスターのステータスを表示。
私は、次の情報のようなものを見ることができます:
+ ------------------- + ---------- + -------------- + --- --------------- + ------------------- +
| ファイル | 位置| Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+ ------------------- + ---------- + -------------- + --- --------------- + ------------------- +
| マスター-bin.000001 | 1516 | | | |
+ ------------------- + ---------- + -------------- + --- --------------- + ------------------- +
ファイル:ログファイル名
ポジション:場所のログ
第六に、オープンスレーブバイナリログ
スレーブサーバへ
1)編集MySQLの設定ファイル、コマンドを使用します。
VIMな/etc/my.cnf
2)、バイナリログの設定を追加したバイナリを開く(リレー-ビンはちょうどあなたがあなた自身を指定することができ、ファイル名をログ)
ログインビン=リレービン
サーバー-ID = 2
注:サーバIDがあることが指定されている、またはエラーとなり、それぞれが固有の識別子を割り当て
七、スレーブマスターへのポイント
MySQLの> CHANGEのMASTER TO > MASTER_HOST = 'マスターIPサーバーの > MASTER_USER = 'マスター認定アカウントは' > MASTER_PASSWORD = 'マスター認証コード'、 > MASTER_LOG_FILE = 'ログファイル名の修士'、 > MASTER_LOG_POS =マスターログの場所。
八、マスタースレーブレプリケーションを開始
スレーブ上で実行
MySQLの>スレーブを起動します。
私たちは、奴隷の状態を確認することができます:
G \ショースレーブステータス;
私は、次のようなものを見ることができます:
*************************** 1行******************** ******* Slave_IO_State:イベント送信するためのマスターを待っている MASTER_HOSTを:マスター的IP地址 Master_User:ルート MASTER_PORT:3306 Connect_Retry:60 MASTER_LOG_FILE:マスター-bin.000001 Read_Master_Log_Pos:1516 RELAY_LOG_FILE:奴隷-bin.000004 RELAY_LOG_POS:1117 Relay_Master_Log_File:マスター-bin.000001 Slave_IO_Running:はい Slave_SQL_Running:はい ......
注意:
Slave_IO_Running:YES表現スレーブログリーダースレッドを開きます
Slave_SQL_Running:YES手段をSQL実行スレッド開いていること
あなたはマスタースレーブレプリケーションのエラーメッセージを持っている場合は、実際に見ることができます
IXテスト
メインの複製が完了した上で、私たちはマスター・データベースまたはテーブル内で作成することができますから、我々はテストにデータを挿入し、セットアップします
ポイントへ10.ご注意ください
1)マスタースレーブレプリケーションを開いて、スレーブライブラリデータが書き込まれた場合、中断コピースレッドからの主なデータは、次の方法で解決することができるように、それは、ロールバックにつながることがあります。
MySQLの>停止スレーブ; MySQLの> GLOBAL SQL_SLAVE_SKIP_COUNTER = 1を設定します。 MySQLの>スレーブを起動します。
2)あなたは、スレーブレプリケーションを停止したい場合は、コマンドを使用することができます。
MySQLの>停止スレーブ;
複製は、マスター・スレーブI / Oログに基づいているので、データの整合性が非常に高い場合3)、そう単純なマスタコピーは、実際の環境で問題となり、一定の遅延が存在するであろう
参考記事:
1)https://www.cnblogs.com/phpstudy2015-6/p/6485819.html#_label0