マスター構成のLinuxからのMySQLデータベース

まず、原則

プロセスに示すほぼとして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

2)https://www.linuxidc.com/Linux/2014-02/96945.htm

おすすめ

転載: www.cnblogs.com/cjjjj/p/12508327.html