まず、環境を準備
[ルート@ 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
バイ