製品&サポートサービス

pt-find

コマンド

pt-find [ オプション ] [ データベース名 ]

【必須項目】

  • ・ [ オプション ] : -p パスワード

【主なオプション】

  • ・ --engine : 検索したいテーブルのエンジンを指定します
  • ・ --exec : 指定したテーブルに対して実行したいSQLを指定できます

目的

MySQLのテーブルを指定したアクションに基づいて検索を行い、該当のデータベース名、テーブル名を出力したり、指定条件に基づくテーブルに対して、SQLを実行する事ができます

設定ファイル

上記の必須項目を、設定ファイルにまとめておきます

# touch /etc/percona-toolkit/pt-find.conf (設定ファイルの作成)
# vi /etc/percona-toolkit/pt-find.conf (設定ファイルの編集)
# config for pt-deadlock-logger
password=パスワード (MySQL のパスワード)

シナリオ

以下のコマンドを実行し、エンジンがInnoDB であるテーブルを検索します

# pt-find --engine InnoDB

結果

エンジンがInnoDB のテーブルが標準出力されます

pt-find01

良い点

指定のテーブルサイズを超過しているテーブルを確認したり、エンジンがInnoDBであるテーブル全てに対して、MyISAM エンジンへ変更するALTER文を実行したりする事が可能です

その他の実行例

1日以上前に作成された、MyISAMエンジンのテーブルを検索します

# pt-find --ctime +1 --engine MyISAM

InnoDB のテーブルを検索し、それらを MyISAM に変更します

# pt-find --engin InnoDB --exec "ALTER TABLE %D.%N ENGINE=MyISAM"

"test" と "junk" データベースから、空のテーブルを検索して削除します

# pt-find --empty junk test --exec-plus "DROP TABLE %s"

トータルで5GB以上のテーブルを検索します

# pt-find --totalsize +5G

全てのテーブルを、そのデータサイズ、インデックスサイズとともに検索し、大きなテーブルから順に表示します

# pt-find --printf "%T\t%D.%N\n" | sort -rn

MySQLや関連ソリューションに関するお問い合わせ、お見積などがございましたら、ご連絡ください。

お問い合わせ各MySQL保守サービス見積依頼スマートスタイルOSSストア

ページトップへ