自動フェイルオーバーMySQLの公式機能検査

demoenvトライアル-2の#スレーブ:...接続。#マスターのバイナリログを確認しています...#レプリケーションをセットアップする...#...行って。[dong.guo@demoenv-trial-1〜] $ mysqlreplicate --master =ルート:合格@ 'demoenv-トライアル-1':3306 --slave =ルート:合格@ 'demoenvトライアル-3':3306 - RPL-ユーザー= RPL:demoenvトライアル-1上のRPL#マスター:...接続。demoenvトライアル-3の#スレーブ:...接続。#マスターのバイナリログを確認しています...#レプリケーションをセットアップする...#...行って。8.验证主从复制的数据完整性[dong.guo@demoenv-trial-1〜] $ mysqlの-uroot MySQLの>データベースTESTDBを作成します。MySQLの>終了。[dong.guo@demoenv-trial-1〜] $ mysqlの-uroot -ppass -h'demoenv-トライアル-2' -E 'ショーのデータベース;' + ------------------- + | データベース| + ------------------- + | INFORMATION_SCHEMA | | mysqlの| | performance_schema | | テスト| | TESTDB | + ------------------- + [洞。demoenvトライアル-1〜] $ mysqlの-uroot -ppass -h'demoenvトライアル-3' -E 'ショーのデータベース@郭;' + ------------------- + | データベース| + ------------------- + | INFORMATION_SCHEMA | | mysqlの| | performance_schema | | テスト| | TESTDB | + ------------------- + [dong.guo@demoenv-trial-1〜] $ mysqlrplshow --master = RPL:RPL @ 'demoenv-トライアル-1' :3306 --discover-奴隷ログイン=ルート:渡します。#上のマスターdemoenv-トライアル-1:...接続。#マスターのための奴隷を見つける:demoenvトライアル-1:3306#レプリケーショントポロジグラフdemoenv-トライアル-1:3306(MASTER)| + --- demoenv-トライアル-2:3306 - (SLAVE)| + --- demoenv-トライアル-3:3306 - (SLAVE)[dong.guo@demoenv-trial-1〜] $ mysqlrplcheck --master =ルート:合格@ 'demoenv-トライアル-1' --slave =ルート:合格@ 'demoenvトライアル-2' #マスターのdemoenv-トライアル-1:...接続。demoenvトライアル-2の#スレーブ:...接続。テスト説明ステータス---------------------マスターのバイナリログの確認[パス]例外がBINLOGていますか?| + -------- + -------- + ----------- + [WARN] サーバー| do_db | ignore_db | + -------- + -------- + ----------- + | マスター| TESTDB | | + -------- + -------- + ----------- +レプリケーションのユーザーが存在しますか?[合格]チェックSERVER_ID値は[合格]チェックserver_uuid値[パス]はスレーブがマスターに接続されていますか?InnoDBの互換性を確認する[合格]マスター情報ファイルを確認[パス] [パス]チェックスレーブ遅延(マスター背後秒)[パス]#...完了を設定するチェックはlower_case_table_names [合格]のチェックストレージエンジンの互換性[パス]を。9.关闭マスター测试の自動フェイルオーバー[dong.guo@demoenv-trial-1〜] $ mysqlfailover --master =ルート:合格@ 'demoenv-トライアル-1':3306 --discover-奴隷ログイン=ルート:3306#実測スレーブ:demoenvトライアル-2:demoenvトライアル-2で3306#発見スレーブ:demoenvトライアル-1でマスタのスレーブの検出--rediscover#通過で3306#発見スレーブdemoenvトライアル-3:3306 #見つかりスレーブ:demoenvトライアル-3:3306#権限を確認します。#demoenvトライアル-1でマスターのための奴隷を発見:3306 MySQLのレプリケーションフェイルオーバユーティリティのフェイルオーバー・モード=オート次のインターバル=日10月20日6時58分52秒2013マスター情報--------------- ---バイナリログはポジションBinlog_Do_DB Binlog_Ignore_DBビン・ログmysqld.00000セット92df196b-3906-11e3-b6b6-000c290d14d7を実行した299 TESTDBのGTIDファイル:#奴隷を停止します。#全てのスレーブにSTOPを実行します。#新しいマスターにスレーブを切り替えます。#スレーブとして新しいマスターを取り外します。#スレーブを起動します。#全てのスレーブにSTARTを実行します。#エラーのために奴隷をチェック。#フェイルオーバーが完了しました。demoenvトライアル-2でマスターのための奴隷を発見#:3306フェイルオーバー・コンソールは、5秒で再起動します。MySQLのレプリケーションフェイルオーバユーティリティのフェイルオーバー・モード=オート次のインターバル=日10月20日午前7時01分25秒2013マスター情報------------------バイナリログファイルの位置はBinlog_Do_DB Binlog_Ignore_DBビン - 対数92df196b-3906-11e3-b6b6-000c290d14d7設定し実行さmysqld.00000 299 TESTDBのGTID:1つのレプリケーションのヘルスステータス+ ----------------- + ------ + -------- + ------- + --- -------- + --------------- + | ホスト| ポート| 役割| 状態| gtid_mode | 健康| + ----------------- + ------ + -------- + ------- + ------- ---- + --------------- + | demoenvトライアル-2 | 3306 | MASTER | UP | ON | OK | | demoenvトライアル-3 | 3306 | SLAVE | UP | ON | OK | + ----------------- + ------ + -------- + ------- + ------- ---- + --------------- + Q-終了RリフレッシュH-健康G-GTIDはU-のUUID服务器 'demoenvトライアル-2' 变成了新的一覧表示します。マスター10.插入数据测试主从复制[dong.guo@demoenv-trial-2〜] $ mysqlの-uroot MySQLの> TESTDBを使用します。データベースは、テーブル `hostgroup`を(MySQLの>をCREATE変更 - >` hostgroup_id` TINYINT(4)NOT NULL AUTO_INCREMENT、 - > `hostgroup_name`チャー(20)DEFAULTのNULL、 - >` hostgroup_next` TINYINT(4)NOT NULL、 - > ` colo_name` CHAR(4)NOT NULL、 - > PRIMARY KEY( `hostgroup_id`) - > レプリケーションのヘルスステータス+ ----------------- + ------ + -------- + ------- + ---- ------- + --------------- + | ホスト| ポート| 役割| 状態| gtid_mode | 健康| + ----------------- + ------ + -------- + ------- + ------- ---- + --------------- + | demoenvトライアル-2 | 3306 | MASTER | UP | ON | OK | | demoenvトライアル-1 | 3306 | SLAVE | UP | ON | OK | | demoenvトライアル-3 | 3306 | SLAVE | UP | ON | OK | + ----------------- + ------ + -------- + ------- + ------- ---- + --------------- + RリフレッシュH-健康G-GTIDはU-UUIDを一覧表示将旧マスタ恢复[的dong.guo@demoenv-trialをQ-終了-1〜] $ mysqlrpladmin --master =ルート:合格@ 'demoenv--2トライアル':3306 --new-マスター=ルートを:合格@ 'demoenv-トライアル-1':3306 --demoteマスター--discover -slavesログイン=ルート:demoenvトライアル-2のマスタのスレーブの検出切替#渡し:で3306#発見スレーブdemoenv試行し、1:3306#実測スレーブ:demoenvトライアル-1:3306#スレーブの発見でdemoenv-トライアル-3:demoenvトライアル-3:権限の確認3306#3306#は、奴隷を見つけました。3306:demoenvトライアル-1でスレーブに3306:#demoenvトライアル-2のマスターから切替えを実行します。#候補スレーブの前提条件を確認します。#マスターにスレーブの設定を確認します。スレーブが古いマスターに追いつくために#を待っています。#奴隷を停止します。#全てのスレーブにSTOPを実行します。#新しいマスターにスレーブに古いマスターを降格。#新しいマスターにスレーブを切り替えます。#すべてのスレーブを起動します。#全てのスレーブにSTARTを実行します。#エラーのために奴隷をチェック。#スイッチオーバーが完了しました。##レプリケーショントポロジの健康:+ ----------------- + ------ + -------- + ------- + ------- ---- + --------------- + | ホスト| ポート| 役割| 状態| gtid_mode | 健康| + ----------------- + ------ + -------- + ------- + ------- ---- + --------------- + | demoenvトライアル-1 | 3306 | MASTER | UP | ON | OK | | demoenvトライアル-2 | 3306 | SLAVE | UP | ON | OK | | demoenvトライアル-3 | 3306 | SLAVE | UP | ON | OK | + ----------------- + ------ + -------- + ------- + ------- ---- + --------------- +#...完了。在刚刚挂起的终端上、可以看到:MySQLのレプリケーションフェイルオーバユーティリティのフェイルオーバー・モード=オート次のインターバル=日10月20日7時30分07秒2013マスター情報---------------- - バイナリログはポジションBinlog_Do_DB Binlog_Ignore_DBビン・ログmysqld.00000セット8a58172b-1efd-11e3-8cf1-000c2950fe0c実行さ710 TESTDBのGTIDファイル:1 [... ]レプリケーションのヘルスステータス+ ----------------- + ------ + -------- + ------- + --- -------- + ---------------------------------- + |ホスト|ポート|役割|状態| gtid_mode |健康| + ----------------- + ------ + -------- + ------- + ----------- + ---------------------------------- + | demoenv-トライアル-2 | 3306 | MASTER | UP | ON | OK | | demoenv-トライアル-1 | 3306 | SLAVE | UP |スレーブがマスタに接続されていません| WARN |。| demoenvトライアル-3 | 3306 | SLAVE | UP |スレーブはマスタに接続されていません| | WARN。+ ----------------- + ------ + -------- + ----- - + ----------- + ---------------------------------- +後にR-リフレッシュH-健康G-GTIDはU-のUUIDを手動で回復が動作を停止しました古いマスターを見ることができフェイルオーバー一覧表示しますQ-終了します。合格@ 'demoenv-トライアル-1' :: 3306 --discover-奴隷ログイン=ルートプレスQ、その後、自動フェイルオーバーを再起動します:$ mysqlfailover --master =ルート[dong.guo@demoenv-trial-1〜] :--rediscover合格... レプリケーションのヘルスステータス+ ----------------- + ------ + -------- + ------- + ---- ------- + --------------- + |ホスト|ポート|役割|状態| gtid_mode |健康| + ------------ ----- + ------ + -------- + -------- + ------- + ----------- UP | | ------- + | demoenv-トライアル-1 | 3306 | MASTER | UP | ON | OK | | demoenv-トライアル-2 | 3306 | SLAVE ON | OK | | demoenvトライアル-3 | 3306 | SLAVE | UP | ON | OK | + ----------------- + ------ + -------- + ------ - + ----------- + --------------- + Q-終了R-リフレッシュH-健康G-GTIDはU-UUIDを一覧表示しますそれが動作することができますA。自動フェイルオーバーの概要については12:それのmysql-ユーティリティは、このパッケージに含まれ、それが唯一の理由はGITDsをサポートする必要があるのは、MySQL 5.6のバージョンで動作することができます。それは、自動的に新しいマスターとしてスレーブを選択することができ、今いくつかのマスターダイの後、それが自動的に古いマスターを復元せず、手動で古いマスターは動作を停止します復元することを後に。参考:http://www.clusterdb.com/mysql/replication-and-auto-failover-made-easy-with-mysql-utilities転送:heylinux.com/archives/2776.html Webサイト:生存時間のWebサイトの運用・保守します。http://www.ttlsa.com/html/4283。

ます。https://my.oschina.net/766/blog/211366で再現

おすすめ

転載: blog.csdn.net/weixin_33805557/article/details/91546699