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

推薦する

MySQL で URL タイムゾーンの罠を回避する方法

序文最近、MySQL 6.0.x 以降の jar を使用する場合、コード URL リンクで serv...

Linux で rc.local ファイルがない場合の完璧なソリューション

新しい Linux ディストリビューションには rc.local ファイルがなくなりました。サービス...

GNU Parallelの具体的な使用法

それは何ですか? GNU Parallel は、1 台以上のコンピュータでコンピューティング タスク...

マウスがカード上に移動したときにフローティング効果を実現する CSS の使用例

原理ホバーしたときに要素に影を設定します: box-shadow で、通常とは異なるスタイルにします...

Postman 自動インターフェーステストの実践

目次背景説明GETリクエストの作成事前リクエストスクリプトで署名を作成するスクリプトは環境変数に書き...

HTML リンク アンカー タグと SEO におけるその役割の概要

<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...

JavaScriptの構文とコード構造に関する深い理解

目次概要機能性と読みやすさ空白括弧セミコロンインデント身元大文字と小文字を区別予約キーワード概要すべ...

nginxのインストールと設定の詳細なプロセス記録

目次1 nginxの紹介1 nginxとは何か2 つのアプリケーション シナリオ2 nginxのイン...

MySQL の時間タイプとモードの詳細

目次1. MySQL の時刻型2. タイムゾーンを確認する3. 不正な時間値4. 厳密モード5. 事...

lnmp を使用して MySQL データベースのルート パスワードをリセットする 2 つの方法

最初の方法: Junge のワンクリック スクリプトを使用して、LNMP 環境で MYSQL データ...

Dockerを使用してLaravel開発環境を構築するための完全な手順

序文この記事では、Docker を使用して、ローカル コンピューターにインストールされている開発スイ...

入力テキストボックスの長さをコンテンツに応じて変更する方法

初め:コードをコピーコードは次のとおりです。 <input type="text&q...

CSS はモバイル互換性の問題を解決するために 0.5px の線を実装します (推奨)

【コンテンツ】: 1.背景画像のグラデーションスタイルを使用する2. スケールを使ってズームできる...

Docker イメージ + nginx を使用して Vue プロジェクトをデプロイする方法

1. Vueプロジェクトのパッケージ化開発されたvueプロジェクトに次の名前を入力し、パッケージ化し...

mysql8.0.20 のダウンロードとインストールおよび発生した問題 (図とテキスト)

1.ブラウザでmysqlを検索してダウンロードしてインストールしますアドレス: https://d...