MySQL関連のツールをいくつかお勧めします

MySQL関連のツールをいくつかお勧めします

序文:

インターネット技術の継続的な発展に伴い、MySQL 関連のエコシステムはますます充実し、ますます多くのツールが登場しています。いくつかの企業や個人が優れたオープンソースツールをリリースしています。この記事では主に、MySQL 関連の実用的なツールをいくつか紹介します。なお、ここではNavicatなどのグラフィカル操作ツールについては紹介しません。

1. SQL監査ウェブツール

SQL の監査と実行は、あらゆる企業やチームにとって悩みの種となる問題です。プラットフォーム ツールのサポートがなければ、手動で処理するしかなく、非効率的で品質を保証することができません。業務を標準化し、効率性を向上させるために、ほとんどのチームはオープンソース ツールを独自に開発または導入する場合があります。ここでは、オープン ソースで無料の Web ベースの SQL 監査プラットフォームを 2 つ紹介します。

憧れ

プロジェクトアドレス: github.com/cookieY/Yea…
プロジェクト紹介: guide.yearning.io/

Yearning は、ほとんどの企業の SQL 監査ニーズを満たすことができる、Web ベースのビジュアル SQL 監査プラットフォームです。通常のSQL監査機能の実装に加え、データクエリなどの便利な機能が多数追加されています。

主な機能:

  • 自動 SQL ステートメント監査では、SQL を自動的に検出して実行できます。
  • DDL/DML ステートメントが実行されると、ロールバック ステートメントが自動的に生成されます。
  • レビュー/クエリ監査機能。
  • LDAP ログイン/DingTalk および電子メール メッセージ プッシュをサポートします。
  • カスタムレビューワークフローをサポートします。
  • きめ細かな権限の割り当てをサポートします。

アドバンテージ:

  • 見た目も良く、使い心地もスムーズです。
  • 一部の監査ルールはカスタマイズできます。
  • 展開が簡単で、依存関係がほとんどありません。
  • 機能が豊富で、クエリだけでなくSQLの監査や実行も可能です。
  • 作者は継続的にメンテナンスを行っており、コミュニティのサポートも受けています。

アーチェリー

プロジェクトアドレス: https://github.com/hhyo/Archery
使用ドキュメント: https://archerydms.com/

Archery は SQL 監査およびクエリ プラットフォームとして位置付けられ、DBA の作業効率の向上、複数のデータベースの SQL 起動とクエリのサポート、豊富な MySQL 運用および保守機能のサポートを目指しています。すべての機能は携帯電話の操作と互換性があります。

主な機能:

  • 統合された SQL クエリ、監査、実行、およびバックアップ。
  • 権限が明確に分割され、検討と実行が分離されています。
  • SQL 作業指示書を自動的に承認し、リスクの高いステートメントを拒否します。
  • 他のインスタンスをすばやく起動します。
  • スローログ管理やSQL最適化などの運用保守機能。
  • セッション管理とパラメータ設定をサポートします。
  • 他のツールプラグインを統合できます。

アドバンテージ:

  • MySQL に加えて、さまざまな主流のデータベースもサポートしています。
  • 機能がさらに充実し、1 つのプラットフォームで複数の用途を実現できるようになりました。
  • SQL 最適化やスローログ管理などの運用保守機能を備えており、DBA にとってより使いやすいものとなっています。
  • Python と Django をベースとしており、二次開発と変換に役立ちます。
  • Yearning と Archery は、それぞれに長所と短所があり、どちらも優れたオープンソース ツールです。 Yearning は MySQL のみで動作し、導入が簡単で、機能が明確で、使いやすいです。 Archery は複数のデータベースをサポートし、展開がやや複雑で、機能が豊富で、多くの高度な運​​用および保守機能をサポートします。より良いものはなく、より適切なものだけがある。

2. Binlog解析ツール

前回の記事では、binlog 解析関連のコンテンツとツールも紹介しました。 binlog 解析ツールを使用すると、データベースによって実行された履歴コンテンツを明確に確認し、ロールバック用の逆コンテンツを取得できます。 GitHub で検索できる binlog 解析ツールは多数あります。ここではよく使用される 2 つのツールを紹介します。

マイフラッシュ

プロジェクトアドレス: https://github.com/Meituan-Dianping/MyFlash

MyFlash は、Meituan Dianping の技術エンジニアリング部門によって開発および保守されている DML 操作をロールバックするためのツールです。このツールは、v4 バージョンの binlog を解析してロールバック操作を完了します。既存のロールバック ツールと比較して、ロールバックを容易にするためのフィルタリング オプションが追加されています。

主な機能:

  • binlog を解析し、さまざまな DML ステートメントをロールバックします。
  • データベース、テーブル、SQL タイプ、場所、時間などに基づいて、複数のネイティブ フィルタリング メソッドを提供します。
  • 複数のバージョンの MySQL と GTID 形式をサポートします。

binlog2sql

プロジェクトアドレス: https://github.com/danfengcao/binlog2sql
binlog2sql も、binlog を解析するためのオープン ソース ツールです。インストールはシンプルで便利、Python ベースで開発されており、ソースコードも簡単に使い始めることができます。

主な機能:

  • 元の SQL、ロールバック SQL、主キーのない INSERT SQL などを解析できます。
  • 迅速なデータロールバック(フラッシュバック)。
  • マスターとスレーブの切り替え後に新しいマスターがデータを失う問題を修復します。

3. ペルコナツールキット

公式ウェブサイトアドレス: https://www.percona.com/doc/percona-toolkit/3.0/index.html#
Percona Toolkit は、手動で実行するには非常に複雑で面倒なさまざまなシステム タスクを実行するために使用できる、高度な管理 MySQL ツールキットのセットです。 PT ツールと呼ばれるこのツールは、Percona によって開発および保守されており、データベース保守担当者にとって便利なツールです。

PT ツールキットはさまざまな小さなツールで構成されており、ツールごとに機能が異なります。主な機能には、マスタースレーブレプリケーションのデータ一貫性のチェック、重複インデックスのチェック、データのアーカイブ、オンライン DDL などがあります。ここでは、よく使用されるいくつかのツールの機能について簡単に紹介します。

  • pt-archiver: 主に履歴データをクリーンアップしてアーカイブするために使用されます。
  • pt-duplicate-key-checker: 重複するインデックスと外部キーを一覧表示して削除します。
  • pt-kill: 適格なデータベース接続を終了します。
  • pt-online-schema-change: テーブル構造をオンラインで変更します。通常、大規模なテーブル DDL に使用されます。
  • pt-query-digest: MySQL ログを分析してレポートを生成します。スローログ分析によく使用されます。
  • pt-table-checksum: マスターとスレーブ間のレプリケーションの一貫性をチェックします。

要約:

この記事では、SQL 監査、binlog 解析、Percona Toolkit など、いくつかの種類のツールについて簡単に紹介します。各ツールの使用方法を詳しく調べる必要があります。興味のある学生はインストールして学習できます。優れたツールを使用すると、作業の効率が向上します。

上記は、いくつかの推奨されるMySQL関連ツールの詳細な内容です。MySQL関連ツールの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL ダーティ ページ フラッシュとテーブル スペースの縮小の原理の分析
  • MySQL の lru リンク リストの簡単な分析
  • MySQL クエリ キャッシュとバッファ プール
  • MySQL カーディナリティ統計の簡単な分析
  • メニューノードのすべての子ノードを再帰的に検索する MySQL メソッド
  • MySQL テーブルスペースとは何ですか?
  • MySQL の遅いクエリを見つける方法
  • MySQL フラッシュリストとダーティページフラッシュメカニズム

<<:  Tomcatにデプロイされたアプリケーションがフロントエンドページにアクセスできない問題について

>>:  SpringBoot と Vue の相互作用におけるクロスドメイン問題の解決策

推薦する

LINUX ポートが占有されているかどうかを確認します

ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...

VScode リモート SSH リモート編集とデバッグコード

Visual Studio Code の最新の Insider バージョンには、コードのリモート デ...

Dockerコンテナに入る方法と出る方法

1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...

シンプルなHTMLとCSSの使い方の詳細な説明

HTML と CSS を含む JD.com のホームページの静的ページ効果を 3 日間で完成させます...

CSS3 ベジェ曲線の例: リンクホバーアニメーション効果の作成

CSS3 アニメーション トランジションを使用して、リンクの上にマウスを移動すると小さなポップアップ...

Linux ssh サービス情報と実行ステータスを表示する方法

Linux での ssh サービス構成など、ssh サーバー構成に関する記事は多数あります。ここでは...

データベース復旧エラーの原因となる MySQL 文字セットの簡単な分析

MySQL の文字セットエンコーディングが正しくないデータをインポートすると、エラーが表示されます。...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

同じページを動的にロードするための Vue ルーティングリスニングの例

目次シナリオ分析発達要約するシナリオ分析システムでは、1 つのモジュールに 3 つのサブモジュールが...

HTML での select optgroup タグの使用の概要

時々、選択した内容をグループ化する必要があります。以前はプログラム制御を使用していました。今日、se...

Dockerは公式Redisイメージをインストールし、パスワード認証を有効にします

参考: Docker 公式 Redis ドキュメント1. 特別なバージョン要件がある場合は、redi...

jQuery は呼吸カルーセルを実装します

この記事では、ブレッシングカルーセルを実装するためのjQueryの具体的なコードを参考までに共有しま...

Reactプロジェクトの新規作成からデプロイまでの実装例

新しいプロジェクトを始めるこの記事では主に、新規プロジェクトを0から1まで取り組むプロセスを記録し、...

docker view container log コマンドの実装

なぜログを読む必要があるのでしょうか?たとえば、コンテナの起動に失敗したがプロンプトが表示されない場...

DockerにElasticsearch7.6クラスタをインストールしてパスワードを設定する方法

目次基本的な設定バージョンとDockerイメージについて始めるelasticsearch.ymlにつ...