MySQLのスロークエリログをmysqldumpslowコマンドで集計しようとしたところ、以下のエラーで実行できなかった。
$ mysqldumpslow mysql-slow.log
zsh: command not found: mysqldumpslow
色々調べてみたところ、mysqldumpslowを提供するMySQLのクライアントツールが正しくインストールされていない可能性があるとのこと。
インストールされているか確認するため以下のコマンドを実行したところ、mysqlコマンドが見つからないというエラーが返ってきた。
$ mysql --version
zsh: command not found: mysql
やっぱりインストールされていないっぽいので以下のコマンドでインストール。
$ brew install mysql
# AppleシリコンMacの人はこちら
$ arch -arm64 brew install mysql
これでmysqldumpslowコマンドが使えるようになった。
$ mysqldumpslow mysql-slow.log
# 実行結果
Reading mysql slow query log from mysql-slow.log
Count: 1 Time=0.07s (0s) Lock=0.00s (0s) Rows=5.0 (5), root[root]@localhost
show databases
Count: 462 Time=0.04s (18s) Lock=0.00s (0s) Rows=2.9 (1344), root[root]@webapp_app_1.webapp_default
SELECT * FROM `comments` WHERE `post_id` = 'S' ORDER BY `created_at` DESC LIMIT N
...