私の質問は、mysqlのログを停止する方法です
log_error = /var/log/mysql/error.log i have commented already.
遅いクエリでも。しかし、私は/var/lib/mysql/hostname.logにホスト名を含むもう1つのログファイルを持っています。たとえば、私はhulkというサーバーにいるので、ログはhulk.logなどになります。そのログにはすべてのクエリがあります。そのため、ログは非常に速く成長し、また非常に大きくなっています。だから私の質問はこのログを無効にする方法ですか?
動的にロギングを停止したい場合は、root@localhost
としてログインし、これを実行します。
SET GLOBAL general_log = 'OFF';
それでおしまい。 mysqlを再起動する必要はありません。
root@localhost
でない場合は、 SUPER権限 のユーザーとしてログインする必要があります。
MySQL 5.1.12+では、これをmy.cnf
に追加/変更します
general-log = 0
MySQL 5.1.11では、これをmy.cnf
から削除します
log
または
log =
ソース:
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_general_log
http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_log
vim /etc/my.cnf
コメントアウトしたい2つの行があります。
log=...
log-error=...
Mysqlを再起動します
service mysql restart
または
service mysqld restart
ロギングは現在オフになっています。オンに戻したい場合は、プロセスを逆にします(そうした場合...):)
一般的には、ログを保持する(または、より良いのは、ログ集約サービスに出荷する)ことと、ローカルログファイルに logrotate
を適用することです。