メインフローの構造の2-四種類

ドキュメント:本館のプロセス。注用から2 - 4種類の
リンクします。http://note.youdao.com/noteshare ID = 534e2789f549b5c55b7a98a1a7fda44b&サブ= 6EB5486BE915456D9876523BD3534845?

本館プロセスからの非同期レプリケーション:

エージェントから、2台のLinux、メインサーバを準備します

1は、チェックMySQLの設定ファイルは、バイナリログになっていません

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

log_bin =サーバー

SERVER_ID = 1

サービスmysqldを再起動

LS /データ

-rw-R ----- 1つのmysql mysqlの177 5月1日午後02時58分server.000001

-rw-R ----- 1つのmysql mysqlの80 5月1日15時02分server.index

手動スイッチのログファイル:

MySQLの>フラッシュログ。

2、メインリポジトリのインストールxtrabackup

#yumをperlの-DBD-MySQLをインストール-y

#回転数-ivh libev4-4.15-7.1.x86_64.rpm

#回転数-ivh libevは-develの-4.15-21.1.x86_64.rpm

#回転数IVH Percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm

#回転数-ivh percona-xtrabackup-24-のdebuginfo-2.4.4-1.el6.x86_64.rpm

yumをpercona-xtrabackupテスト-24-2.4.4-1.el6.x86_64.rpmをインストール

[ルート@ RH-88 xtrabackup2.4.4]#yumをlocalinstall ./*.rpm

バックアップディレクトリを作成します。

MKDIR /バックアップ

フルバックアップを実行します。

innobackupex --user =ルート--password = 123 --socket =を/ tmp / mysql.socket /バックアップ/

innobackupex --user =ルート--password = 123 /バックアップ/

[ルート@ localhostの〜]#のCD /バックアップ/

[ルート@ localhostのバックアップ]#LL

合計12

drwxr-X --- 2ルートルート4096 5月1日15時41分2019-05-01_15-41-35

drwxr-X --- 2ルートルート4096 5月1日15時43分2019-05-01_15-43-47

drwxr-X --- 5ルートルート4096 5月1日15:50 2019-05-01_15-50-52

クライアント上のコンテンツをバックアップします

[ルート@ localhostの2019-05-01_15-50-52]#scpコマンド-r 2019-05-01_15-50-52 /
[email protected] /ルート/

3、ライブラリから設定bin_log

[ルート@のRH-88〜]#件のvimな/etc/my.cnf

READ_ONLY = 1

SERVER_ID = 2

binlog_format =行

log_bin =スレーブ

データベースを閉じます

[ルート@のRH-88〜]#サービスmysqldを停止

MySQLのインストールディレクトリを入力します。

[ルート@のRH-88〜]#のCDの/ var / libに/ mysqlの

ライブラリはすべて削除します

[ルート@ RH-88のmysql]#RM -rf *

ライブラリからインストールxtrabackup

4、バックアップを復元

アプリケーションログ

[ルート@ RH-88 xtrabackup2.4.4]#innobackupex --applyログ
/ルート/ 2019-05-01_15-50-52 /

ビューステータス

[ルート@ RH-88 2019-05-01_15-50-52]#のCD /ルート/ 2019-05-01_15-50-52

[ルート@のRH-88 2019-05-01_15-50-52]#猫のxtrabackup_checkpoints

フル準備BACKUP_TYPE =

from_lsn = 0

to_lsn = 2534580

last_lsn = 2534589

コンパクト= 0

recover_binlog_info = 0

ライブラリーからの回復

[ルート@ RH-88 2019-05-01_15-50-52]#innobackupex --copyバック
/ルート/ 2019-05-01_15-50-52 /

[ルート@ RH-88 2019-05-01_15-50-52]#のCDの/ var / libに/ mysqlの

変更所有者がグループであります

[ルート@ RH-88のmysql]#chownコマンド-R mysqlの:mysqlの。

ビュー

[ルート@ RH-88のmysql]#猫xtrabackup_info

UUID = da8b5a8d-6be5-11e9-9925-000c2967eaf1

名前=

tool_name = innobackupex

tool_command = --user =ルート--password = ... /バックアップ/

tool_version = 2.4.4

ibbackup_version = 2.4.4

SERVER_VERSION = 5.7.17

START_TIME = 2019年5月1日夜3時50分52秒

END_TIME = 2019年5月1日午前15時50分56秒

lock_time = 0

binlog_pos =

innodb_from_lsn = 0

innodb_to_lsn = 2534580

部分= N

増分= N

フォーマット=ファイル

コンパクト= N

= N圧縮

暗号化された= N

データベースを起動します

[ルート@のRH-88のmysql]#サービスmysqldを開始

メイン図書館で図書館からコピーして、ユーザーの確立に捧げ5、

MySQLの>助成金のレプリケーションスレーブ、複製クライアント*上*「%」@「REPL」に。
「REPL」によって識別されます。

6、ライブラリーからログオン

[ルート@ RH-88のmysql]#mysqlの-urepl -prepl -hserver -P3306

テストします

MySQLの>ショーのデータベース;

+ -------------------- +

| データベース|

+ -------------------- +

| INFORMATION_SCHEMA |

+ -------------------- +

セット内の1行(0.01秒)

図7に示すように、マスタ - スレーブ関係が決定されます

MySQLの>?にマスターを変更

CHANGE MASTER TO

MASTER_HOST = 'master2.mycompany.com'

MASTER_USER =「複製」

MASTER_PASSWORD = 'bigs3cret'

MASTER_PORT = 3306、

MASTER_LOG_FILE = 'MASTER2-bin.001'、

MASTER_LOG_POS = 4、

MASTER_CONNECT_RETRY = 10。

[ルート@ RH-88のmysql]#mysqlの-uroot -p123

MySQL>変更マスタ
= '172.16.88.220'、MASTER_USER = 'REPL'、MASTER_PASSWORD = 'REPL'、MASTER_PORT = 3306、MASTER_LOG_FILE = 'slave.000001'をMASTER_HOST、MASTER_LOG_POS = 806978、MASTER_CONNECT_RETRY = 10。

クエリOK、0行影響を受け、2つの警告(0.04秒)

ライブラリーから開きます

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

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

表示スレッドの状態

通常、IOライブラリからメインアプリケーションスレッドそこから生成されるかどうかを確認

MySQLの> MySQLの> PROCESSLISTを表示します。

clipboard.png

主従関係が通常の実行を詳細に説明するかどうかを決定します

MySQLの>スレーブステータスを表示\ G

clipboard.png

メインライブラリで

ポジションを実行している現在のサーバーbin_log(server.000002)を見ます

MySQLは>マスター状態を表示します。

clipboard.png

既存の主な問題からコピー

主な問題から:

メインライブラリーのダウンタイムの後、データが失われる可能性があります

マスタースレーブSQLスレッド、メインライブラリの筆圧、大規模なマスター・スレーブ遅延のみ

メインライブラリーの失敗、必要に応じて手動でライブラリからサービスを提供するために、プルアップ

どのように解決するために:

準同期レプリケーション - データ損失の問題を解決するために

パラレルコピー - コピーライブラリからの遅延問題を解決するために

MHA--トラブルシューティング、オンラインスイッチング問題

準同期レプリケーション・プロセス

clipboard.png

準同期レプリケーション検出

現在のバージョンはサポートしています半同期チェック

主なニーズから検討します

MySQLの> @@ have_dynamic_loadingを選択します。

Moduleディレクトリ:

/usr/local/mysql/lib/plugin/:semisync_master.soとsemisync_slave.so

/ usr / lib64に/ mysqlの/プラグイン

メインライブラリローダーモジュール:

PLUGINのrpl_semi_sync_master SONAME 'semisync_master.so' をインストールします。

ライブラリからロード・モジュール:

PLUGINのrpl_semi_sync_slave SONAME 'semisync_slave.so' をインストールします。

モジュールの負荷条件を確認します。

MySQLの>はmysql.pluginから選択*;

メインライブラリの半同期をオンにします:

グローバルrpl_semi_sync_master_enabled = 1を設定します。

設定されたグローバルrpl_semi_sync_master_timeout = 30000;ミリ秒

ライブラリのオープン準同期レプリケーションから:

グローバルrpl_semi_sync_slave_enabled = 1を設定します。

レプリケーションは非同期転送半同期レプリケーションの場合:

ライブラリから再起動する必要性の下でIOスレッド:

スレーブIO_THREADを停止し、スレーブIO_THREADを開始します。

パラレルコピー

ライブラリから設定ファイルを変更します。

[ルート@のRH-88プラグイン]#件のvimな/etc/my.cnf

パラレルパラメータ:

slave_preserve_commit_order = 1

slave_parallel_type = logical_clock

slave_parallel_workers = 4

log_slave_updates = 1

relay_log_recovery = ON

#master_info_repository = TABLE

#relay_log_info_repository = TABLE

| mysqlの| slave_master_info |

| mysqlの| slave_relay_log_info |

ライブラリデータベースから再起動します。

[ルート@のRH-88プラグイン]#サービスmysqldを再起動

GTIDのマスタースレーブ

グローバル・トランザクションID

プロが:手動でログ・オフセットを設定していない、それはフェイルオーバーのために便利であり、
スタートlog_slave_updatesで変更それは、ライブラリのメインライブラリから失われていない場合

MASTER_AUTO_POSITION = {0 | 1}

短所:唯一の新しいバージョン5.6をサポートしています

メインライブラリ構成:

[ルート@のRH-88プラグイン]#件のvimな/etc/my.cnf

=上GTIDモード

強制-GTID-一貫= 1

データベースを再起動します。

ライブラリ構成から:

[ルート@のRH-88プラグイン]#件のvimな/etc/my.cnf

=上GTIDモード

強制-GTID-一貫= 1

データベースを再起動します。

メインのライブラリビューで:

あなたはserver_uuid番号を表示することができます:「%UUID%」のようなグローバル変数を表示します。

マスターのステータスを表示。

(初めはbinlogの言葉を開くには場合)Executed_Gtid_Setは今、何GTIDレコードを空見つかりません

テーブルの作成

テーブルG1を作成します。

もう一度見るショーのマスターステータス。

あなたはExecuted_Gtid_Setに情報を表示することができます

プライマリ・バックアップ:

innobackupex --user =ルート--password = 123 /バックアップ/

アプリケーション

(ここではGTIDモードでは表示されません)

表示xtrabackup_binlog_infoまたはxtrabackup_info:

binlog_pos =ファイル名'server.000001'、 '位置186479'、最後のGTID
変更'7e48f5d6-25f7-11e8-bdb4-000c29208fda:1から616'

そして、ライブラリにファイルをバックアップします。

SCP -r /バックアップ/ 2018-06-25_06-50-33 / [email protected]:/バックアップ/

ライブラリーからの回復には:

innobackupex --moveバック/バックアップ/ 2018-06-25_06-50-33 /

パーミッションを変更します。chown -R mysqlの:mysqlの/ mysqlの/

サービスmysqldを開始:データベースを起動します

コピーを作成するための主な図書館利用者

そして、ライブラリーからの操作への変更を同期

変更MASTER
、= '172.16.120.23'、MASTER_USER = 'REPL'、MASTER_PASSWORD = 'REPL' = 3306 MASTER_PORT、master_auto_position = 1をMASTER_HOST。

ライブラリから開始します。スレーブを起動し、状態を確認するために、スレーブのステータスを表示

そして、テストに

ライブラリー操作からのテスト

主なテストケースライブラリ操作を同期

おすすめ

転載: www.cnblogs.com/qluzzh/p/11072236.html