MySQL クエリログの設定


運用してるMySQL5.1.51(Linux_x86版、ソースからインストール)で、実行されてるSQLを取得したいと思い、ちょっと闘いました。
エラーを調べる為に別なエラーではまるという不本意な闘いだった訳ですが、

通常設定ファイル(my.cnf)の、[mysqld]ディレクションに、以下を追加すれば行けるはず。

log=/var/log/mysql/query.log ←ネット情報からパクったパスとファイル名

で、mysqldを再起動してtail -f /var/log/mysql/query.log!!!!
………………何も起きない。。。もちろん事前にディレクトリもファイルも作って、chmodしてchownもしてますよ。
ということでエラーログ(mysql-data-dir/’hostname’.err)を見ると、、??

/usr/libexec/mysqld: File '/var/log/mysql/query.log' not found (Errcode: 13)

ん?ファイルがない?
そんな訳ありません。ちゃんとあります。
少しググってみると、、

mysqld_safe --log-error

で実行する必要があるとのこと。そうかあ。そうだったのかあ。
これで大丈夫だね^^で早速、実行してみると???

/usr/libexec/mysqld: File '/var/log/mysql/query.log' not found (Errcode: 13)

またですか。。。
ではさらにググると、

/var/log/~ ではなく /tmp にログを書きだす設定をしたら出来た!

なんてゆう情報を英語ページで見つけたので試してみると、、、、、行けました。。。。
んーなんだこれ。納得いかないけど行けたからまあいいか。。
で、

mysqld_safe --log-error

てのは結論としては関係ないですね。普通に、

service mysqld restart

で行けました。
古いバージョンの情報だったのかな?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です