マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】MySQL MHA

【OSS情報アーカイブ】MySQL MHA

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「MySQL MHA」とは

基本情報

概要

MySQL MHA(マイエスキューエル エムエイチエー)とは、MySQLマスタ障害発生時に、MySQLマスタの自動フェイルオーバーを行い高可用性を実現するオープンソースツールです。

基本説明

「MySQL MHA」は、「Master High Availability Manager and tools for MySQL」の略称です。

Perlで実装されており、マスタとスレーブで構成されるMySQLレプリケーション環境で稼働します。

MySQLには、マスタサーバ障害時のフェイルオーバ機能は標準では提供されていないため、短時間でミスなく障害復旧を行うために有効なツールです。

MySQLのマスタをフェイルオーバーさせ、スレーブをマスタに昇格させる作業を短時間(10〜30秒程度)で実行することを目的としています。MHAマネージャがマスタ障害を検知すると、スレーブの1つを新しいマスタに昇格させデータベースの稼働を継続します。

マスタ障害が発生しても、スレーブ間での整合性を崩さない機能を搭載しています。最小限のダウンタイムで迅速にレプリケーションを再開できます。非同期レプリケーションでもスレーブ間の同期が取れます。

経緯

MySQLエキスパートとして世界的にも著名な松信嘉範氏が開発されています。

主な特徴

フェイルオーバー機能

フェイルオーバーの際、非同期によるデータ差分をチェックし同期を取ることで、データロスの可能性を軽減します。

フェイルオーバー機能(1)自動フェイルオーバー(監視あり)

MHAマネージャがマスタを監視し、マスタに障害が発生するとフェイルオーバーさせます。最新のDB情報を反映しているスレーブから、その他のスレーブに対して差分を適用する動作を行うため、スレーブ間のデータ整合性が保証されます。

フェイルオーバー機能(2)手動フェイルオーバー

手動でのマスタフェイルオーバーも可能です。

フェイルオーバー機能(3)自動フェイルオーバー(監視なし)

MHA自身では、MySQLのサービス監視は実施しないモードです。監視作業を他の監視ソフトウェアで行い、監視ソフトウェアからの通知によりフェイルオーバーを実行します。

マスタ切り替え機能

オンラインでマスタを別ホストに切り替える機能です。0.5〜2秒ほどの書き込みブロックのみで切り替え可能です。

マスタ昇格指定機能

「特定スレーブのマスタ昇格(昇格不可)指定」が可能です。

動作条件

・rootで各ノード間でのSSH公開鍵認証が可能であること

・MySQL 5.0 以降のみサポート

・マスタ昇格候補のサーバでlog-binがenableであること

・マスタ昇格候補サーバにレプリケーション用ユーザが存在すること

・ステートメントベースレプリケーションでは「LOAD DATA INFILE」の使用は禁止

MHAマネージャコンポーネント

「MySQLマスタのサービス監視」と「フェイルオーバー実行」を行います。

MHAノードコンポーネント

MHAノードコンポーネントは、各MySQLサーバに1つずつ配置され、フェイルオーバーが発生した場合、「スレーブサーバの更新状態調査」「更新状態が最新であるスレーブサーバをマスタサーバへ昇格」「他のスレーブサーバの更新処理参照先を新マスタサーバへ変更」などを行います。

フックポイント

全部で6箇所のフックポイントが用意されています。動作の各所で任意のスクリプトを実行させることができます。

既に動作しているMySQLに影響を与えない

MHAのインストール/アンインストールにおいて、MySQLプロセスやレプリケーションを止める必要はありません。

負荷をかけない

MHA自体は追加の負荷をかけないため、パフォーマンスを低下させません。

バイナリログフォーマット

「Statement」ベースでも「Row」ベースでもサポートします。

ストレージエンジンに依存しない

トランザクション非対応ストレージエンジン(MyISAMなど)でも動作します。

ローコストで導入可能

・アクティブ/スタンバイ構成時のスタンバイ機のようなサーバは不要(サーバの追加投資が不要)

・既存のMySQLレプリケーションの構成変更は不要

・既存の環境を入れ替えることなく導入できる

導入事例

DeNAのサービスへのMHA導入実績があります。

ライセンス情報

「MySQL MHA」のライセンスは、「GNU General Public License Version 2」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】 生成AIを悪用した「 サイバー攻撃 」とは?🕷️

デジタル寺田の3分用語解説

2024.12.16

【デジタル寺田の3分用語解説】 生成AIを悪用した「 サイバー攻撃 」とは?🕷️

生成AIの進化により、フィッシング詐欺やマルウェア作成が高度化・自動化しており、「 サイバー攻撃 」が進化しています。詐欺メールの信憑性が高まり、ターゲットに合わせた攻撃も可能です。また、無害な画像にマルウェアを隠す技術や、脆弱性を自動で攻撃するシステムも登場しているため、企業は最新のセキュリティ対策が不可欠です。

【デジタル寺田の3分用語解説】「 ダイバーシティ 」&「 インクルージョン 」(D&I)とは?🤝

デジタル寺田の3分用語解説

2024.12.16

【デジタル寺田の3分用語解説】「 ダイバーシティ 」&「 インクルージョン 」(D&I)とは?🤝

「 ダイバーシティ 」(多様性)と「 インクルージョン 」(包括性)は、性別や年齢、国籍、価値観、経験など、人々の持つ様々な違いを認識し、それを尊重しながら誰もが能力を最大限に発揮できる環境を作る考え方です。単に違いを受け入れるだけではなく、それを活かして共に成長していくことを目的としています。

【デジタル寺田の3分用語解説】 米司法省、Google社に対して「 Chrome の売却 」を要求🌐

デジタル寺田の3分用語解説

2024.12.16

【デジタル寺田の3分用語解説】 米司法省、Google社に対して「 Chrome の売却 」を要求🌐

米司法省は、Googleに対してWebブラウザ「 Chrome 」の売却を要求しています。これは、Googleの市場独占行動が競争を排除していると問題視したものです。Googleはこれに反論し「セキュリティや経済への悪影響」を警告しています。今後の裁判の行方に注目が集っています。