MySQLのクエリログが出力されなくなったので原因を探ったらパーミッションだった件

Vagrant環境でクエリログを出力していたのですが大量にたまりすぎたので削除。
そうしたらなぜか今度はクエリログが出力されなくなった。
my.cnfの設定は

log-output=FILE
general_log=1
general_log_file=/var/log/mysql/general-query.log

となっており再起動すれば正常に出力されるはずなのに出力されない。

SHOW VARIABLES LIKE '%log%';

で設定を表示してみると
general_logの項目がOFFになっている!

set global general_log='ON';

を実行するとエラー

ERROR 29 (HY000): File xxxxxxx not found (Errcode: 13 - Permission denied)

色々調べてみた結果どうやらログファイル及びログファイルが保存されているディレクトリのパーミッションの権限の問題のようで

chmod -R 777 /var/log/mysql

mysqlにログインし

set global general_log='ON';

でmysqlを再起動したら出力されるようになりました。
パーミッションについて適切なパーミッションにあとで調べて設定。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする