ドキュメント:本館のプロセス。注用から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を表示します。
主従関係が通常の実行を詳細に説明するかどうかを決定します
MySQLの>スレーブステータスを表示\ G
メインライブラリで
ポジションを実行している現在のサーバーbin_log(server.000002)を見ます
MySQLは>マスター状態を表示します。
既存の主な問題からコピー
主な問題から:
メインライブラリーのダウンタイムの後、データが失われる可能性があります
マスタースレーブSQLスレッド、メインライブラリの筆圧、大規模なマスター・スレーブ遅延のみ
メインライブラリーの失敗、必要に応じて手動でライブラリからサービスを提供するために、プルアップ
どのように解決するために:
準同期レプリケーション - データ損失の問題を解決するために
パラレルコピー - コピーライブラリからの遅延問題を解決するために
MHA--トラブルシューティング、オンラインスイッチング問題
準同期レプリケーション・プロセス
準同期レプリケーション検出
現在のバージョンはサポートしています半同期チェック
主なニーズから検討します
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。
ライブラリから開始します。スレーブを起動し、状態を確認するために、スレーブのステータスを表示
そして、テストに
ライブラリー操作からのテスト
主なテストケースライブラリ操作を同期