1. サーバーの計画
マスター:192.168.0.152 スレーブ: 192.168.0.153 192.168.0.154
監視サーバー: 192.168.0.154
注: 実際の運用環境では、データベースのレプリケーションを監視するための別のサーバーを用意するのが最善です。ここでは、Salve サーバーを監視サーバーとして直接使用します。
192.168.0.154(監視サーバー)サーバーで次のコマンドを実行して、ダウンロードしたMySQLユーティリティとMySQLコネクタをインストールします
yum install mysql-connector-python-2.1.4-1.el6.x86_64.rpm mysql-utilities-1.6.4-1.el6.noarch.rpm
スレーブ: 192.168.0.153 192.168.0.154
監視サーバー: 192.168.0.154
レプリケーションを構成するには、ブログ投稿を参照してください。 MySQL——「MS マスター/スレーブ レプリケーション (読み取り/書き込み分離) 実装」、「MySQL - MSS マスター/スレーブ レプリケーション (読み取り/書き込み分離) 実装」
、「MySQL - BinLog レプリケーションを GTID レプリケーションにアップグレードする 4 つのステップ」。
mysql>grant create,insert ,drop, select, super, replication slave, reload on *.* to 'replm'@'192.168.0.154' identified by password 'replm' with grant option;
を実行することで確認できます。
mysql>show grants for replm@192.168.0.154;
注: 別のサーバーがレプリケーションを監視する場合は、レプリケーションに関係するマスターサーバーとスレーブサーバーでのみ認可操作を実行します。認可ターゲット IP はモニタリングサーバーの IP です
[mysqld] log-bin=/data/mysql3306log/mysql-bin binlog-format=mixed server-id = 001 sync_binlog=1 gtid-mode=on enforce-gtid-consistency log-slave-updates report-host=192.168.0.154 master-info-repository=TABLE relay-log-info-repository=TABLE
設定を変更した後、mysql サーバーを再起動すると、mysql サーバーは 2 つの設定を保存しますこのとき、use mysql;show tables; を実行すると、mysql データベースにslave_master_infoとslave_relay_log_infoが新しく作成されていることがわかります。
6.監視端末を起動
#mysqlfailover --master=replm:replm@192.168.0.152 --discover-slaves-login=replm:replm
注: マスターサーバーがハングアップすると、mysqlfailover はスレーブサーバーの 1 つをマスターとして自動的に選択し、他のスレーブは新しいマスターサーバーに対応します。
注: マスターがハングアップすると、mysqlfailover は他のスレーブの中からマスターとしてサーバーを自動的に選択します。元のマスター サーバーを手動で再起動すると、mysqlfailover は、ハングアップした元の mysql サーバーが再起動されたことを自動的に検出できません。最初にハングアップした mysql サーバーを手動で再起動し、スレーブ サーバーとしてレプリケーションに追加します。
以上がMySQL レプリケーションの監視と自動フェイルオーバーの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。