本館からはmysql-

環境の準備

 

ホスト名

IP

システム/ MySQLのバージョン

役割

ノード3

192.168.210.132

CentOS7.3 / 5.5.60

マスター

ノード2

192.168.210.130

CentOS7.3 / 5.5.60

奴隷

 

、マスターノード

1、同期するデータベースを作成します

MySQLの> データベース亜鉛を作成します。
MySQLは > 亜鉛を使用します。
MySQLの >表のZn(登録IDの INT、名前VARCHAR(20))。

2.データベース・サービスを停止します

systemctlストップmariadb.service

3、編集my.cnfファイル

[mysqldを]
ログ・ビン= bin-はmysql- マスター#はバイナリログの有効化 サーバーを - ID = 1。 ネイティブデータベースIDフラグ ビンログ - DO -db = ライブラリが#は、サーバからコピーすることができZN、データベース名はバイナリ同期する必要があり ビンログを -ignore-DB = mysqlの#サーバーのライブラリーからコピーすることはできません

4、データベースサービスを再起動します

systemctl再起動mariadb.service

5.同時ユーザーを作成し、認可

MariaDB *の[(なし)]>グラントレプリケーションスレーブ*によって識別'%' @スレーブに。" 123 " MariaDB [(なし)]>マスター状態を示す図です。
+ ------------------------- + ---------- + ------------ - + ------------------ +
| ファイル| 位置| Binlog_Do_DB | Binlog_Ignore_DB |
+ ------------------------- + ---------- + ------------ - + ------------------ +
| mysqlのビン-master.000001 | 384 | ZN | mysqlの|
+ ------------------------- + ---------- + ------------ - + ------------------ +
MariaDB [(なし)]> 
MariaDB [(なし)]>
MariaDB [(なし)]> \ Gバイナリログイベントを示し
************************ *** 1行***************************
   LOG_NAME:MySQLのビン-master.000001
        順位:4
 EVENT_TYPE:Format_desc
  SERVER_ID: 1
End_log_pos:245
       情報:版5.5.60-MariaDB、バイナリログ:版サーバ4
*************************** 2行* **************************
   LOG_NAME:mysqlのビン・master.000001の
        順位:245
 EVENT_TYPE:クエリ
  SERVER_ID:1
End_log_pos:384
       インフォメーション:助成金*上のレプリケーションスレーブ。*「%」@スレーブに「123」で識別される
セットで2行(0.00秒)

図6は、バイナリファイルを見ます

[ルート@のノード3のmy.cnf.d]#のCDの/ var / libに/ mysqlの/ 
[ルート@ノード3のmysql]#のLS [ルート@ノード3のmysql]#LSの
aria_log.00000001 ibdata1とib_logfile1  のmysql-ビンmaster.000001   にmysql.sockテスト
aria_log_control ib_logfile0のmysql        のmysql-ビンmaster.indexの    performance_schemaの亜鉛

図7は、データベースのエクスポートを同期化、およびスレーブノードに送信されるデータベースの一貫性のある同期を確実にするためにコピーする前に

mysqldumpを-uroot -p123亜鉛> zn.sql#データベースをエクスポートすることができ
、SCP zn.sql 192.168.210.130:/root

 

二、スレーブノード

1、2台のデータベース・サーバの一貫性を保つためのMySQLのバージョン

MariaDB [(なし)]>のような変数を示し' %バージョン%を' ;
+ ------------------------- + ---------------------- + 
| 変数名| バリュー| 
+ ------------------------- + ---------------------- + 
| innodb_version | 5.559 -MariaDB- 38.11 | 
| PROTOCOL_VERSION | 10                    | 
| slave_type_conversions | | 
| バージョン| 5.560 -MariaDB | 
| version_comment | MariaDBサーバー| 
| version_compile_machine | x86_64版|
| version_compile_os | Linuxの|
+ ------------------------- + ---------------------- + 7セット(0.00 秒)
MariaDB [(なし)] >

2は、プライマリサーバへの接続が成功した、あるテストコピーする権利のみ、他のライブラリを参照することはできません

[ルート@ノード2〜]#mysqlの-uslave -p123 -h 192.168210.132 
MariaDB [(なし)] >  
MariaDB [(なし)] >  
MariaDB [(なし)] > ショーデータベース;
+ -------------------- + 
| データベース| 
+ -------------------- + 
| INFORMATION_SCHEMA | 
| テスト| 
+ -------------------- + 2セット(0.00 秒)
MariaDB [(なし)] >

図3に示すように、通常のデータベースに、プライマリ・データベース・サーバと一致

[ルート@ノード2〜]#mysqlの- uのルート
MariaDB [(なし)] > [ データベース亜鉛を作成します。
クエリOK、1つの影響を受けた行(0.00 秒)
MariaDB [(なし)]>出口
[ルート@ NODE2〜]#のMySQL -urootのZn <zn.sql

図4は、サーバから開くことが必要ではない、ビン・ログログをサーバから設定ファイルを変更します。

[ルート@ NODE2〜】STOP#1 systemctlのmariadb.service 
[ルート@ NODE2〜]#のVimの/ etc / my.cnfの
[mysqldを] 
サーバー - ID = 2    サーバのID番号から#、及び主IDと同じではない、複数の場合サーバから、各サーバから一意のサーバー-id値を持つ必要があり、サーバーはならず、同じマスターサーバーから他。サーバIDの値はIPアドレスと同様と考えることができる:ID値が一意にサーバクラスタの各複製サーバインスタンスを識別する。

5、スレーブは、サービスを停止し、マスターノードのIP、master_userの同期ユーザ名とパスワードを設定します

[ルート@のノード2〜]#mysqlの- uのルート
MariaDB [(なし)] > スレーブを停止しません。
クエリOK、0影響を受ける行(0.00 秒)
MariaDB [(なし)] > 
MariaDB [(なし)] = MASTER_HOSTする>変更マスタ' 192.168.210.132を'、master_userは= ' スレーブ'、master_password = ' 123 ' 
クエリOK、0影響を受ける行(0.00 秒)
MariaDB [(なし)] >  
MariaDB [(なし)] > スレーブ開始。
クエリOK、0行が影響を受けました(0.00 秒)
MariaDB [(なし)] > MariaDB [(なし)]>スレーブステータスを表示\ G 
*************************** 1 。行***************************
               Slave_IO_State:イベント送信するマスターを待っ
                  MASTER_HOSTを:192.168.210.132
                  Master_User:スレーブ
                  MASTER_PORT:3306
                Connect_Retry: 60
              MASTER_LOG_FILE:mysqlのビン・master.000001の
          Read_Master_Log_Pos:384
               RELAY_LOG_FILE:mariadb-リレー-bin.000002
                RELAY_LOG_POS:675
        のRelay_Master_Log_File:mysqlのビン・master.000001の
             Slave_IO_Running:はい负责与主机的 IO通信
            Slave_SQL_Running:はい负责自己的スレーブのmysql进程
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno:0
                   LAST_ERROR:
                 Skip_Counter:0
          Exec_Master_Log_Pos:384
              Relay_Log_Space:971
              Until_Condition:なし
               Until_Log_File:
                Until_Log_Pos:0
           Master_SSL_Allowed:いいえ
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:いいえ
                Last_IO_Errno:0
                Last_IO_Error:
               Last_SQL_Errno:0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id:1
セット内の1行(0.00秒)

MariaDB [(なし)]>

 

三、ザ・マスターノード

そして、プライマリサーバの状態を確認してください。

[ルート@ノード3のMySQL]#MySQLの-uルート
MariaDB [(なし)]> PROCESSLIST \ G示さない *************************** 1行*************************** イド:11 ユーザー:スレーブ ホスト:ノード2:37878 のdb:NULL コマンド:BINLOGダンプ 時間:343 州:マスターはスレーブに全てのバイナリログを送信しました。待っているためビンログが更新される 情報:NULL 進捗状況:0.000

 

第四に、あなたが発生した場合、メイン非同期の修理

(1)マスタノードにおいて、ルックからマスタビンログの位置を、次に同期

MariaDB [(なし)]>マスター状態を示す図です。
+ ------------------------- + ---------- + ------------ - + ------------------ +
| ファイル| 位置| Binlog_Do_DB | Binlog_Ignore_DB |
+ ------------------------- + ---------- + ------------ - + ------------------ +
| mysqlのビン-master.000001 | 384 | ZN | mysqlの|
+ ------------------------- + ---------- + ------------ - + ------------------ +
セットにおける1行(0.00秒)

MariaDB [(なし)]>表示するバイナリログイベント\ G
******** ******************* 1行***************************
   LOG_NAME :MySQLのビン-master.000001
        順位:4
 EVENT_TYPE:Format_desc
  SERVER_ID:1
End_log_pos:245
       INFO:サーバー版:版5.5.60-MariaDB、バイナリログ:4
*************************** 2行***** **********************
   LOG_NAME:mysqlのビン・master.000001の
        順位:245
 EVENT_TYPE:クエリ
  SERVER_ID:1
End_log_pos:384
       インフォメーション:*上の助成金のレプリケーションスレーブ。* '%' @スレーブに"123"によって識別される
セット内の2行(0.00秒)

MariaDB [(なし)]>

(2)スレーブノードが実行する MySQLのコマンドで:

MariaDB [(なし)]> STOPスレーブ; 
OKを照会し、0影響を受ける行(0.01 秒)

MariaDB [(なし)] >  
MariaDB [(なし)] = MASTER_LOG_FILEする>変更マスター' のMySQL-ビンmaster.000002を'、MASTER_LOG_POS = 245 ; 
、OKをクエリ0影響を受けた行(0.01 秒)
#結果が効果同期するために、バイナリデータベースサーバリターンを記録する、一次サーバー上にマスターステータスを表示
MariaDB [(なし)] > MariaDB [(なし) ]> スレーブスタート、
OKを照会し、0行が影響を受けた(0.00 秒)

MariaDB [(なし)] > [ 表示スレーブステータス\ G
             Slave_IO_Running:はい#は、我々はすべてのであれば、はい、それは同期で、すでに意味
            Slave_SQL_Running:はい

 

おすすめ

転載: www.cnblogs.com/cloudhere/p/10991520.html