MAMPでMySQLのクエリログを出力する
MAMPでMySQLのクエリログを出力する方法をメモしておきます。やり方は様々あるようですが、一例として。
環境
環境は以下の通りで、ソフトウェアはインストール済みという前提で進めます。パスやバージョン等は、必要に応じて読み替えてください。XAMPPも、ほぼ同様の設定で問題ないと思います。
ソフトウェア | バージョン | 備考 |
---|---|---|
MAMP | 2.0.5 | /Applications/MAMP にインストール済みとする |
MySQL | 5.5.9 | MAMPの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がある場合は、そちらに追記するのも一つの方法だと思います。以下の内容を追記します。ログファイル名は、任意です。
1 2 | [mysqld] log = /Applications/MAMP/logs/mysql_query.log |
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 &