DUICUO

MySQL を管理するための 5 つの推奨される無料のオープンソース ツールを紹介します。

データベース管理者にとって、データベースの効率的かつ安定した運用を確保することは、まるでアクロバットが皿を回すようなものです。柔軟性、集中力、素早い反射神経、そして冷静な心が必要です。データベースは、ほぼすべてのシステムの中核を成しています。データベース管理者は組織のデータに責任を負っているため、データベースをより効率的に管理し、日々の業務を容易に遂行できる信頼性の高いツールを見つけることは極めて重要です。そのため、データベース管理者はシステムの円滑な運用を確保するために、より優れたツールを必要としています。では、MySQL管理者にとって実証済みで信頼できるツールとはどのようなものでしょうか?ここでは、推奨されるオープンソースツール5つとその使い方をご紹介します。

マイクリ

主な特徴は次のとおりです。

  • コード補完や構文の強調表示などの機能を提供します。

  • 最初の *** 文字を入力すると、テーブル名またはフィールド名が自動的に取得されます。

  • コマンドラインモード経由

コマンドライン モードの利点は、リモート操作や 2 要素認証などのセキュリティ制限のある環境でも制限がないことです。一方、グラフィカル ツールはそれほどユーザーフレンドリーではない場合があります。

おばけ

ほとんどのデータベース管理者は、大規模な MySQL テーブルの構造を変更すると業務に影響が出るのではないかと心配しています。gh-ost は、トリガーフリー、監視可能、動的に調整および一時停止できるように設計されており、さらに重要なことに、ソリューションを切り替えるための優れた設計になっています。

一般的に、業界では3つのアプローチが一般的です。1つ目は、Perconaのpt-online-schema-changeやFacebookのOSCなどのサードパーティ製ツールを使用する方法、2つ目はスタンバイデータベースを変更し、スイッチオーバーを通じてローリング変更を実施する方法、3つ目はMySQLを5.6/5.7にアップグレードし、公式のオンラインDDLを使用して部分的な変更を実施する方法です。しかし、トリガーによって発生するロック競合の問題、マスターとスレーブの切り替えにかかる追加コスト、そしてオンラインDDLの制限は、DBAにとって厄介な問題となります。

では、gh-ost はどのように動作するのでしょうか? 公式のアーキテクチャ図は次のとおりです。

次の 2 つの動作モードがあります。

1. マスター データベースへの接続を直接変更します。

  • マスターデータベースへの直接接続

  • • プライマリデータベースにゴーストテーブルを作成する

  • • ALTER コマンドを直接使用して、新しいテーブル (ゴースト テーブル) のテーブル構造を変更します。

  • 元のテーブルから新しいテーブルにデータを移行します。

  • • binlog イベントを取得して解析し、新しいテーブルに適用します。

  • • カットオーバーフェーズでは、元のテーブルが新しいテーブルに置き換えられます。

2. スレーブ データベースを接続して、アプリケーションを間接的にマスター データベースに適用します。

  • スレーブライブラリに接続する

  • 検証後、マスター データベースに新しいテーブルを作成します。

  • 元のテーブルから新しいテーブルにデータを移行する

  • スレーブ データベースのスレーブ データベースをシミュレートし、増分 binlog をプルして解析し、それをマスター データベースに適用します。

  • 切り替えフェーズでは、元のテーブルが新しいテーブルに置き換えられます。

2 つの違いは、スレーブ データベースに接続して変更を加えると、マスター データベースのパフォーマンスへの影響が最も少なくなることです。

PhpMyAdmin

最も古く、最も成熟したWebベースのMySQLツールです。データベース管理者はブラウザ経由でデータテーブルを操作でき、豊富なデータ表示形式を利用できます。

問題、接続数/プロセス数、トラフィックをグラフに動的にプロットできます。また、パフォーマンスの低下を検知し、自動的に解決策を提案する機能も備えています。

SQLチェック

MySQL アンチパターンに興味のある方は、関連資料 (SQL アンチパターン) を参照してください。

SqlCheckは、潜在的な問題を高リスク、中リスク、低リスクの3種類に分類できます。これにより、効率性に最も影響を与える問題を特定するのに役立ちます。必要なのは、下の画像に示すように、ファイル名を引数としてツールに入力することだけです。

オーケストレーター

Orchestratorは非常に実用的なデータ複製・管理ツールです。データベースのマスター/スレーブ関係をキャプチャすることでトポロジー図を生成できます。さらに、ドラッグ&ドロップ機能でデータベース関係を再構築できます。これらの操作は非常に安全で、不正な操作によってデータベースが損傷することはありません。

***、Orchestratorはノード障害時にリカバリが可能です。状態の概念を適用することで、適切にリカバリし、適切なタイミングでマスターデータベースに再接続します。