Percona Toolkit のツールを全て使ってみる 1
(pt-align、pt-archiver)

目次

はじめに

Percona 製品は、MySQL と非常に高い互換性を持つ MySQL の派生製品であり、 MySQL ユーザが快適に利用できることを開発コンセプトとしています。
また、MySQL と同様 OSS で提供され、ユーザは無償で利用することができます。

本記事で紹介する Percona Toolkit は、Percona 社が開発した MySQL の運用・監視・分析といった、手動で実行するには複雑な作業を簡単に実施することができるコマンドツール群です。
現在 (2024/12/09)、40 ツールが存在する中で、今回は pt-alignpt-archiver の 2 ツールを紹介します。

Percona Toolkit 関連のブログについては まとめ で紹介していますので併せてご覧ください。

Percona Toolkit のダウンロード・インストール

ダウンロード・インストールに関しては、以下の公式サイトを参考にしてください。

環境情報

今回利用する環境情報

  • Oracle Linux 8
  • Percona Server for MySQL 8.0.39-30
  • Percona Toolkit 3.6.0

ツール紹介

1. pt-align

pt-align は、以下のように選択したファイルの中身の列を揃えて出力することができます。

オプションも --help--version の 2 つだけと、非常にシンプルなツールです。

オプションの詳細は リファレンス を確認してください。

リファレンスには vmstatiostat の出力を揃えて読みやすくする場合などに便利とありますが、vmstatiostat はそもそも見やすく出力されるためあまり効果は実感できませんでした。

vmstat

iostat

注意点として、pt-align は、列数が同じでないと全て表示さません。
(どこかの行の列数が基準となり、基準と同列数の行だけが整列されて表示されます)

そのため csv の中身を確認するのに良さそうと思いましたが、"a, b" のように 1 列に 2 単語入っている場合や、Customer Id のように列名に空白が入っている場合、文字に " が含まれる場合などは pt-align が使えないので、それらの処理をしてから実行するといったように手間がかかります。
できないことはないですが csv の確認には適してなさそうです。

上記の vmstat に関しては、procs の行が消えてしまいますが、vmstat を見慣れている人は procs の行が消えるより列が揃う方が見やすそうです。

2. pt-archiver

pt-archiver は MySQL テーブルの行を別のテーブルまたはファイルにアーカイブすることができます。

pt-archiver には多くのオプションが存在します。
必須のオプションは --source--where です。

  • --source: 元データの指定
  • --where: 条件の指定

オプションの詳細は リファレンス を確認してください。

使用例

今回は mydb データベースと employees テーブルを使用します。

アーカイブしたデータの移動先となる、employees と同じ構造の空の employees_archive テーブルを作成しておきます。

pt-archiver を実行します。

  • --ask-pass: MySQL に接続する時のパスワードが要求される
  • --source: 元データを指定
    • h=localhost: ホスト名、D=mydb: データベース名、t=employees: テーブル名
  • --dest: アーカイブ先を指定
  • --where: 条件の指定、"1=1" は全てのデータを指定しています
  • --no-safe-auto-increment: これを指定しなかった場合、最後に見つかった行を含まないデータがアーカイブされる (今回で言えば id が 10 の行はアーカイブも移動もされない)

employees テーブルの全てのデータがアーカイブされ、employees_archive テーブルに移動されたことが確認できました。

--no-delete オプションを使用すれば元データを残すこともできます。

pt-archiver はコマンド 1 つで簡単にデータをアーカイブして移動 (元テーブルからデータの削除) することができるのでコマンド使用時には注意が必要です。

Percona Toolkit のデバッグ情報を有効にする

PTDEBUG=1 を付けて実行するとデバッグ情報を有効にすることができます。

こちらのマニュアルページ に記載がある通り、PTDEBUG を使用すると、パスワードが公開される可能性がある点に注意してください。

まとめ

Percona Toolkit は、インストール自体が非常に簡単でインストールしておくだけで 40 個のツールを利用することができます。
リファレンスに書かれている通り、これらのツールはプライベートや 1 回しか使用しないような時に非常に便利です。
重宝するツールもあれば、使いこなすのに応用が必要そうなツールもありますが、Percona Toolkit 自体無償で提供されているのでぜひインストールしてみてください。

Percona Toolkit のツールを全て使ってみるシリーズはアルファベット順に進めていますので次回、第 2 弾は pt-config-diff になります!

* Percona Toolkit を紹介した SmartStyle TECH BLOG *

スマートスタイルTECHブログについて

スマートスタイルTECHブログでは、日頃オープンソースデータベースのサポート業務に従事している有資格者で構成された技術サポートチームがPerconaに関する技術情報を発信しています。データベースのお困りごとはお気軽にご相談下さい。

よかったらシェアしてね!
  • URLをコピーしました!
目次