MySQLのデュアルマスターの技術ビス

まず、環境を準備

[ルート@ localhostのは〜]#のvimの/ etc / hostsファイル

MASTER2マスタ1は192.168.40.154 192.168.40.129                                                                                         
192.168.40.138 192.168.40.128スレーブ1のスレーブ2の
注:4つの仮想マシンの構成は同じであり、ファイアウォールがオフになっています

第二に、主な設定ビス

MASTER1(そのデータベースは、事前に準備ライブラリーを得ています)

1、[ルート@ localhostの〜]#件のvimな/etc/my.cnf

log_binの
サーバID = 1
gtid_mode = ON
enforce_gtid_consistency = 1

2、[ルート@ localhostの〜]#systemctl再起動mysqldを

3、授权:MySQLの>助成金のレプリケーションスレーブ、複製クライアント*上* 'rep'@'192.168.40.%' が '5740 @ Zjz' によって識別します。

4、MySQLの>フラッシュ権限;(リフレッシュ)

5、备份:mysqldumpを-p'Zjz --all-データベース5740' @ --single-トランザクション--master-データ= 2 --flush-ログ> `日付+%F`-mysqlの-all.sql

6、#のSCP -r 2017年1月1日-mysqlの-all.sql MASTER2:/ tmpに

図7は、スプリットポイントは、バイナリログを観察しました

、= 'localhostを-bin.000002' MASTER_LOG_POS = 154 MASTER_LOG_FILEに変更しMASTER;

MASTER2

1、[ルート@ localhostの〜] #vimな/etc/my.cnf(バイナリログ開始、サーバーID、GTID)

log_binの
サーバID = 2
gtid_mode = ON
enforce_gtid_consistency = 1

2、[ルート@ localhostの〜]#systemctl再起動mysqldを

 また、手動でデータ復旧を同期

MySQLの>設定SQL_LOG_BIN = 0。

MySQLの>ソース/tmp/2017-1-1-mysql-full.sql

MySQLの> master1db.master1tabから選択*;

3、プライマリサーバ

するMySQLの>変更マスタ
= 'MASTER1'、MASTER_HOST
master_userは= '担当者'、
'5740 @ Zjz' master_password =、
master_auto_position = 1;

スレーブを起動します。

スレーブステータスの\ Gを示し;

MASTER1はMASTER2ベースの認識します

MASTER2授权:MySQLの>助成金のレプリケーションスレーブ、複製クライアント*上* '5740 @ Zjz' によって識別される 'rep'@'192.168.40.%' へ。

フラッシュ権限;(リフレッシュ)

MASTER1:プライマリサーバ

するMySQLの>変更マスタ
= 'マスター2'、MASTER_HOST
master_userは= '担当者'、
'5740 @ Zjz' master_password =、
master_auto_position = 1;

スレーブを起動します。

スレーブステータスの\ Gを示し;

mysqldumpを-p'Zjz --all-データベース5740' @ --single-トランザクション--master-データ= 2 --flush-ログ> `日付+%F`-mysqlの-all.sql

SCP -r 2017年8月9日-mysqlの-all.sqlスレーブ1:/ tmpに

SCP -r 2017年8月9日-mysqlの-all.sqlスレーブ2:/ tmpに

第三に、ビスを提供します

スレーブ1#mysqlの-p'Zjz 5740' @ </tmp/2017-8-9-mysql-all.sql

スレーブ2 #mysql -p'Zjz 5740' @ </tmp/2017-8-9-mysql-all.sql

GTID、サーバIDからのスタート

スレーブ1スレーブ2

#vimな/etc/my.cnf#VIMな/etc/my.cnf
サーバID = 3のサーバID = 4
gtid_mode = gtid_mode ON = ON
enforce_gtid_consistency = 1 enforce_gtid_consistency = 1
マスタ情報リポジトリ=表マスター情報リポジトリ= TABLEの
リレー-ログ情報リポジトリ= TABLEリレー-ログ情報リポジトリ= TABLE

#systemctl再起動mysqldを再起動mysqldを#systemctl  

プライマリサーバー

スレーブ1(二つの主要なサーバーを識別)

するMySQLの>変更マスタへのMySQLの>変更マスタ
= 'MASTER1'、MASTER_HOST = 'マスター2'、MASTER_HOST
master_user = '担当者'、master_user = '担当者'、
'5740 @ Zjz' '5740 @ Zjz' master_password =を、master_password =、
master_auto_position = 1チャネルのための'MASTER1'。master_auto_position = 1チャネルのための'MASTER1'。

MySQLの>スレーブを起動します。

MySQLの>スレーブステータスの\ Gを示し、(はいダブル成功)

操作上のスレーブ2

IVの概要

1、connettionを表示され、試すために、コンピュータを再起動します

図2に示すように、ステップの一部、次いで停止スレーブ動作

3、[ルート@のスレーブ1〜]#mysqlの-p'Zjz 5740' @ </tmp/2019-08-29-mysql-all.sqlmysql:

[警告]コマンドラインインターフェイス上でパスワードを使用すると、安全でないことができます。

@@ @@ GLOBAL.GTID_EXECUTEDが空のときGLOBAL.GTID_PURGEDにのみ設定することができます:行24でERROR 1840(HY000)。

ソリューション:MySQLの>マスターをリセットし、(スレーブ1を入力してください)    

影響を受けたクエリOK、0行(0.10秒)    

MySQLの> \ Q 

バイ

 

おすすめ

転載: www.cnblogs.com/zjz20/p/11427650.html