我的问题是如何停止 mysql 上的日志
log_error = /var/log/mysql/error.log i have commented already.
查询速度也很慢。但我在 /var/lib/mysql/hostname.log 中还有一个日志文件,主机名为 hulk,意思是例如我在名为 hulk 的服务器上,因此日志将是 hulk.log 等等。该日志中包含所有查询。因此日志增长非常快,而且非常大。所以我的问题是如何禁用此日志?
答案1
如果您想动态停止日志记录,请以身份登录root@localhost
并运行以下命令:
SET GLOBAL general_log = 'OFF';
就是这样。无需重新启动 mysql。
如果不是root@localhost
,您需要以用户身份登录超级特权。
答案2
在 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
vim /etc/my.cnf
有两行需要注释掉:
log=...
log-error=...
重启 mysql
service mysql restart
或者
service mysqld restart
现在将关闭日志记录。如果想重新打开它,请按相反顺序执行该过程(如果您这样做...):)
答案4
一般来说,你会想要保留日志(或者更好的是,发送到日志聚合服务),并且应用logrotate
到本地日志文件。