マジセミドライブ

ウェビナー関連のニュースや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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

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

この記事のタグ一覧

おすすめの記事

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。