我的错误文件(/var/log/mysql/error.log
)迅速增加(每小时磁盘使用量的 10%),只有这个条目:
[ERROR] Error in accept: Bad file descriptor
我们只能在午夜关闭服务器以进一步调查,现在我需要找到一种方法来阻止错误文件占用我磁盘的所有空间。
我尝试过类似set GLOBAL general_log = 0
的方法,但它根本不起作用,还尝试刷新错误日志,error.log.1
创建了一个新的错误文件(),但进程(mysqld)继续写入旧文件(error.log
)。
请帮忙,问我是否需要更多信息。
调试信息
mysql服务器版本:5.7.18-0ubuntu0.16.04.1
要查找错误日志位置,请运行以下命令
mysql> show global variables like '%log_error%';
正如您所提到的,
set GLOBAL general_log = 0
- 此命令用于禁用常规日志。由于是空间问题,请确定是由于错误日志还是一般日志。如果是一般日志,禁用它,如果是由于错误日志;刷新并重命名错误日志。注意:如果使用
FLUSH LOGS
orFLUSH ERROR LOGS
命令刷新日志,MySQL 将关闭并重新打开错误日志,但它会继续写入相同的错误日志文件。为了创建一个新文件,在执行之前重命名原始文件
FLUSH operation
,这样,当你运行FLUSH LOGS
或FLUSH ERROR LOGS
MySQL 将关闭并打开新文件并开始写入新文件。如果错误日志文件大小不断增加,则应找出根本原因并将其删除。管理大小不是解决方案,只是临时解决方法。打开错误日志并开始调试并删除错误,这将使错误日志大小保持在限制范围内。
如果您手头没有解决错误,只需将 FLUSHING 操作作为计划任务并备份错误日志即可。这可以如下完成:
希望这个回答对你有帮助,谢谢!