web-dev-qa-db-ja.com

MySQLログファイルの無効化

私の質問は、mysqlのログを停止する方法です

log_error = /var/log/mysql/error.log i have commented already.

遅いクエリでも。しかし、私は/var/lib/mysql/hostname.logにホスト名を含むもう1つのログファイルを持っています。たとえば、私はhulkというサーバーにいるので、ログはhulk.logなどになります。そのログにはすべてのクエリがあります。そのため、ログは非常に速く成長し、また非常に大きくなっています。だから私の質問はこのログを無効にする方法ですか?

5
nonus25

動的にロギングを停止したい場合は、root@localhostとしてログインし、これを実行します。

SET GLOBAL general_log = 'OFF';

それでおしまい。 mysqlを再起動する必要はありません。

root@localhostでない場合は、 SUPER権限 のユーザーとしてログインする必要があります。

11
RolandoMySQLDBA

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

3
R. S.

vim /etc/my.cnf

コメントアウトしたい2つの行があります。

log=...
log-error=...

Mysqlを再起動します

service mysql restart

または

service mysqld restart

ロギングは現在オフになっています。オンに戻したい場合は、プロセスを逆にします(そうした場合...):)

0
VenomFangs

一般的には、ログを保持する(または、より良いのは、ログ集約サービスに出荷する)ことと、ローカルログファイルに logrotate を適用することです。

0
gWaldo