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 の相互作用におけるクロスドメイン問題の解決策

ブログ    

推薦する

Vue プロジェクトがページング効果を実現

ページング効果は、参考までにvueプロジェクトに実装されています。具体的な内容は次のとおりです。 1...

HTMLの基礎を徹底解説(第1部)

1. WEBを理解するWeb ページは主にテキスト、画像、ハイパーリンクなどの要素で構成されていま...

MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)

開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...

Docker で Jenkins サービスを構築する例

画像をプルする root@EricZhou-MateBookProX: docker pull je...

Linux での Apache サービスの展開と構成

目次1 Apacheの役割2 Apacheのインストール3. Apacheを有効にする4 Apach...

Linux で unzip コマンドを使用して複数のファイルを解凍する方法

Linuxにunzipコマンドがない問題の解決策unzipコマンドを使用して.zipファイルを解凍す...

Vueの子コンポーネントが親コンポーネントのメソッドを呼び出す場合の詳細な説明

1. 子コンポーネントのthis.$parent.eventを通じて親コンポーネントメソッドを直接呼...

Nginx 設定場所のマッチング優先順位の簡単な分析

序文Nginx 構成のサーバー ブロック内の場所は、リクエスト URI を一致させるために使用され、...

広告を閉じる効果を実現するJavascript

参考までに、Javascript を使用して広告を閉じる方法に関するケース スタディを示します。詳細...

vue3 の setUp とリアクティブ関数の使用方法の詳細な説明

1. いつsetUpを実行するかvue3 ではメソッドを正常に使用できるようになったことは誰もが知っ...

DockerでのinfluxDB分散時系列データベースのインストールと関連操作について簡単に説明します。

influxDB の紹介influxDB は分散型時系列データベースです。 cAdvisor はリ...

json.stringify() と json.parse() の違いと使い方

1. JSON.stringify() と JSON.parse() の違い私たちは皆、JSON.s...

Dockerは複数のポートマッピングコマンドを有効にします

次のように: docker run -d -p 5000:23 -p 5001:22 --name ...

各グループの最新データを取得するためにMySQLベースのグループを実装する

序文:グループ化関数はグループ内の最初のデータを取得しますが、各グループ内の最新のデータを取得する必...

CSS transform-originプロパティを理解する

序文最近、花火アニメーションを作成しました。花火が散るアニメーションです。アニメーションの実装中、花...