[2019/1/9] 掲載内容を更新し、PDF版日本語マニュアルのダウンロードが可能になりました
Percona Toolkit とは
「Percona Toolkit」は、PERCONA社が開発した、MySQLの“運用”、“監視”、“分析”といった複雑な作業を簡単に実施することができるコマンドツール群です。全部で34ツール存在します。(2017年3月31日現在)
PERCONA社は、MySQLのコンサルティング・保守サービス分野において、世界で最も高い評価の得ている企業です。2006年の創業以来、世界各国で1200件以上のコンサルティングおよびサポートの実績をもち、シスコシステムズ、グルーポン、BBCなどはPERCONA社の顧客となっています。
Percona製品は、MySQLと非常に高い互換性を持つ(drop-in replacement)MySQLの派生製品で、 MySQLユーザが快適に利用いただけることを開発コンセプトとしております。また、MySQLと同様、オープンソースで提供され、ユーザは無償で利用することができます。そのため、当ツールは日常の業務の中でMySQLを利用しているエンジニアの方は勿論、データベース全般に関するコンサルタントの方にもご活用いただけるツールとなっております。
Percona Toolkitを使うことで以下の作業を行うことができます。
- MySQLを停止することなく、マスターとスレーブのデータの整合性を確認する
- 2つのMySQL間のデータを同期する
- 問題となっているSQLを検出する
- スレーブを意図的に遅延させる
- バージョン間の互換性を確認する
Percona Toolkitは外部の管理用サーバー、データベースサーバーのどちらにでも配置できます。
ただしデータベースサーバー以外に配置した場合には、一部の機能が利用できなくなります。
「Percona Toolkit」の日本語版の利用マニュアルを公開
Percona Toolkit 日本語版利用ガイド
Percona Toolkitの日本語版利用ガイドのダウンロード版となります。無料でダウンロードいただけますので、ご活用下さい。
Percona Toolkit構成
管理サーバーにインストールする構成
マスターサーバーにインストールする構成
スレーブサーバーにインストールする構成
Percona Toolkitの各種ツールと概要
ツール名 | 概要 |
---|---|
pt-align | [機能概要] 指定のファイルもしくは、標準入力内容を、スペース区切りの単語に分割して見やすいように列幅を調整し、標準出力します。 [用途/備考] |
pt-archiver | [機能概要] 指定したデータベース、テーブル、条件の行データを、他のデータベースサーバや、「LOAD DATA INFILE」で取り込める形式のファイルにアーカイブする事ができます。 [用途/備考] |
pt-config-diff | [機能概要] MySQLの設定ファイルもしくは、データベースサーバの指定により、サーバ変数の差分を出力します。 [用途/備考] |
pt-deadlock-logger | [機能概要] データベースのデッドロック情報をダンプします。 [用途/備考] |
pt-diskstats | [機能概要] ディスクIOの統計情報を出力します。iostat コマンドに比べて、より汎用的に情報を出力する事ができます。 [用途/備考] |
pt-duplicate-key-checker | [機能概要] テーブルのインデックスや外部キーの重複チェックをします。 [用途/備考] |
pt-fifo-split | [機能概要] ファイルサイズの大きいファイルから指定した行範囲の内容を表示します。 [用途/備考] |
pt-find | [機能概要] MySQLのテーブルを指定したアクションに基づいて検索を行い、該当のデータベース名、テーブル名を出力したり、指定条件に基づくテーブルに対して、SQLを実行する事ができます。 [用途/備考] |
pt-fingerprint | [機能概要] クエリの抽象化を行います。改行や、複数スペースを省略、リテラル値を置換する事により、類似するクエリを正規化した同一のクエリになるよう変換して出力します。 [用途/備考] |
pt-fk-error-logger | [機能概要] 外部キー制約に関するエラー情報を表示します。エラー情報を指定のテーブルに格納する事も可能です。 [用途/備考] |
pt-heartbeat | [機能概要] MySQLサーバ、PostgreSQLサーバのレプリケーションの遅延を測定します。 [用途/備考] |
pt-index-usage | [機能概要] Slowクエリログからクエリを読み込み、使用されていないINDEXを調査して、削除する為のクエリを出力します。 [用途/備考] |
pt-ioprofile | [機能概要] mysqldプロセスによるファイルのIO状況を監視します。 [用途/備考] |
pt-kill | [機能概要] 「SHOW PROCESSLIST」の情報を基に、条件に一致するクエリを終了させたり、接続を切断したりする事ができます。 また、クエリを終了、接続を切断せずに、指定条件に一致する情報のみを表示する事もできます。 [用途/備考] |
pt-mext | [機能概要] 「SHOW GLOBAL STATUS」を指定した間隔での差分を表示します。 [用途/備考] |
pt-mongodb-query-digest | [機能概要] MongoDB query profilerからのクエリを集約することによって、クエリ使用状況の統計情報をレポートします。 [用途/備考] |
pt-mongodb-summary | [機能概要] MongoDBから収集した情報をサマリして出力します [用途/備考] |
pt-mysql-summary | [機能概要] MySQLのステータス変数を用途ごとにサマリして出力します。 [用途/備考] |
pt-online-schema-change | [機能概要] ロックをせずにテーブルの構造を変更する事ができます。 [用途/備考] |
pt-pmp | [機能概要] LINUX上のスタックトレースを表示します。 [用途/備考] |
pt-query-digest | [機能概要] Slowクエリログの集計結果を表示します。 [用途/備考] |
pt-show-grants | [機能概要] 全ユーザのGRANT情報を出力します。 [用途/備考] |
pt-sift | [機能概要] 「pt-stalk」によって作成されたファイルを閲覧します。 [用途/備考] |
pt-slave-delay | [機能概要] マスターより遅れさせるために、必要に応じて従属サーバーを起動して、停止します。 レプリケーションの Slave を Master から意図的に遅延させます。 [用途/備考] |
pt-slave-find | [機能概要] Master に対してレプリケーションをしている Slave をツリー表示します。 [用途/備考] |
pt-slave-restart | [機能概要] レプリケーションの Slave を監視して、エラー等により停止した場合に自動的に再起動を試みます。 [用途/備考] |
pt-stalk | [機能概要] 指定した条件に達した時点の netstat や vmstat、 iostat 等の様々な情報を出力します。 [用途/備考] |
pt-summary | [機能概要] サーバホストのOSやメモリ、ボリューム等の物理的な情報と、メモリ使用状況やプロセス情報、ネットワーク接続情報等の状況を出力します。 [用途/備考] |
pt-table-checksum | [機能概要] レプリケーションでのマスタとスレーブ間のテーブルの整合性をチェックします。 [用途/備考] |
pt-table-sync | [機能概要] レプリケーションでのマスタとスレーブ間のテーブルを同期させます。 [用途/備考] |
pt-table-usage | [機能概要] Slowクエリログからクエリを読み込み、どのテーブルへアクセスするのかを分析表示します。 [用途/備考] |
pt-upgrade | [機能概要] 複数のサーバへクエリを送って、実行時間やエラー、結果などの違いを出力します。 異なるバージョン間でのクエリ実行に関する違いを確認する事ができます。 [用途/備考] |
pt-variable-advisor | [機能概要] MySQL変数を分析して、問題の可能性がある設定について出力します。 [用途/備考] |
pt-visual-explain | [機能概要] EXPLAINの結果を元に、クエリの構成をツリー構造で出力します。 [用途/備考] |