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

推薦する

Ubuntu 20.04でAliソースを変更する方法

なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...

MySql の 4 つのトランザクション分離レベルについて簡単に説明します。

分離レベル:隔離はあなたが考えるよりも複雑です。 SQL 標準では 4 つの分離レベルが定義されてお...

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

IDEA 2020 で Tomcat サーバーを構成するための詳細な手順

IDEA 2020 で Tomcat を構成する手順は次のとおりです。最初のステップはTomcatを...

base target="" はフレームを開くためのベースリンクのターゲットを指定します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...

HTMLコードテキストボックスの制限入力テキストボックスが灰色になり、制限テキストボックスの入力

方法 1: readonly 属性を true に設定します。入力値=読み取り専用 readOnly...

MySQL 同時実行制御の原則に関する知識ポイント

Mysql は、高性能なデータ ストレージ サービスを提供する主流のオープン ソース リレーショナル...

JSはマップを使用してdouble配列を統合します

目次序文データのシミュレーション結合されたデータ合併のアイデアコードの表示と分析最初のステップステッ...

ハイパーリンクAタグを学ぶ

聞く: CSS を使用してハイパーリンクのスタイルを設定しましたが、ホバーしても機能しません。なぜこ...

LinuxでIPアドレスを手動で設定するための詳細な手順

目次1.まずネットワークカードの設定ディレクトリに入る2. ifcfg-ens33ネットワークカード...

Vue プロジェクトでブラウザ キャッシュ設定を無効にする例

プロジェクトをリリースするときに、キャッシュをクリーンアップする必要があるという問題に遭遇することが...

Linux で g++ を使用してプログラムをコンパイルする際の -I (大文字の i)、-L (大文字の l)、-l (小文字の l) の機能の詳細な説明

初心者の Linux ユーザーとして、私は単純なgcc/g++操作を何度も使用してきましたが、少し複...

MySQL 最適化: キャッシュ最適化

何人かのブロガーが私の記事を評価してくれたのは嬉しいです。マークと知り合ってからは、私は彼をフォロー...

CSSカスタムプロパティの予備的な理解

現在、CSS プリプロセッサは Web 開発の標準となっています。 プリプロセッサの主な利点の 1 ...

SQL実行ステップの詳細な分析

SQL実行ステップの詳細な分析まず、ステートメントが実行される順序を見てみましょう。 (8)選択する...