MAMPでMySQLのクエリログを出力する


MAMPでMySQLのクエリログを出力する方法をメモしておきます。やり方は様々あるようですが、一例として。

環境

環境は以下の通りで、ソフトウェアはインストール済みという前提で進めます。パスやバージョン等は、必要に応じて読み替えてください。XAMPPも、ほぼ同様の設定で問題ないと思います。

ソフトウェアバージョン備考
MAMP2.0.5/Applications/MAMP にインストール済みとする
MySQL5.5.9MAMPのMySQLを使うものとする

設定

startMysql.sh

MySQLの起動用シェルスクリプト /Applications/MAMP/bin/startMysql.shに、起動オプション --log=/Applications/MAMP/logs/mysql_query.logを追記します。ログファイル名は、任意です。

# /bin/sh
/Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log --log=/Applications/MAMP/logs/mysql_query.log &

以上で、完了です。
ファイル容量が膨大になりますので、必要なときだけ設定する等、工夫をしましょう。

my.cnfを使う例

MAMPのMySQLをチューニングしており、オリジナルの my.cnfがある場合は、そちらに追記するのも一つの方法だと思います。以下の内容を追記します。ログファイル名は、任意です。

MySQLの起動オプションの追加をお忘れなく。
# /bin/sh
/Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log --log &