MySQLでクエリログを出力する方法

  • 投稿日:
  • by
  • カテゴリ:

1./etc/my.cnf ファイルに以下の行を追加する。

[mysqld]
(中略)
log=/var/log/mysql_query.log  ←これ


2./etc/rc.d/init.d/mysqld ファイルの以下の行を修正する。

【修正前】
/usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \
--log-error="$errlogfile" --pid-file="$mypidfile" \
--user=mysql >/dev/null 2>&1 &

【修正後】
/usr/bin/mysqld_safe --datadir="$datadir" --socket="$socketfile" \
--log-error="$errlogfile" --pid-file="$mypidfile" \
--user=mysql --log >/dev/null 2>&1 &  ←この行に追記あり


3.空のログファイルを作成する。

# touch mysql_query.log
# chmod 640 mysql_query.log
# chown mysql:mysql mysql_query.log


4.MySQLを再起動して設定を反映させる。

# /etc/rc.d/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]


【参考にしたサイト】
 http://beausoir.blog100.fc2.com/blog-entry-140.html
 http://beausoir.blog100.fc2.com/blog-entry-151.html
 ただしこのとおりではログが出力されなかったので手順4をアレンジしている。