错误日志是故障排除的重要工具。如果无人看管,错误日志文件的大小可能会变得非常大。对于初学者来说,没有多少参数可以调整以以任何方式影响其大小,不像 binlog 有一些系统变量来控制其大小、旋转和保留。为什么有区别?你的猜测和我的一样好。可能是二进制日志具有与时间成反比的特定功能:意思是,经过的时间越多,二进制日志文件的功能就越少。相反,错误日志中的错误可以在将来查看,并且仍然提供有价值的信息。
您希望在错误日志中包含多少信息以及希望将它们保留多长时间取决于您的应用程序的需求。了解错误日志中的确切内容以及记录的错误类型会有所帮助。默认错误日志设置包括错误、警告和注释。错误是导致进程或查询停止的问题,而警告是发生的意外行为,但不会停止进程或查询的执行。其他信息或注释与事件或有用的建议有关,例如服务器是否停止运行或表是否需要修复。
控制错误日志中包含哪些内容的变量是log_warnings和log_error_verbosity。在 MySQL 5.7.2 之后,应该使用 log-error-verbosity 而不是 log_warnings。在调整变量之前,请考虑在抛出错误消息时警告和注释对您有多大用处。下表提供了有关变量功能和值的更多详细信息。
| 多变的 | 功能 | 价值观 | 默认 |
log-warnings | 控制将哪些附加信息打印到错误日志。 | 0 – 仅包含错误1 – 还包含警告2 – 包含错误、警告和注释 | 2 |
log-error-verbosity | 打印到错误日志的控件。 | 1 – 仅允许错误消息2 – 允许错误和警告消息3 – 允许错误、警告和信息 | 3 |
如前所述,应该监视错误日志的大小,因为它可能会变大。幸运的是,轮换和刷新错误日志很容易。
第一步是重命名当前的错误日志。UNIX/Linux 服务器上的默认位置是 /var/log/mysql。在 Windows 服务器上,可以在 C:\ProgramData\MySQL\MySQL Server [版本号]\Data\ 目录中找到错误日志。您可以使用以下命令复制或移动文件。
转到错误日志目录。以下命令适用于 UNIX/Linux 服务器。

重命名同一目录中的文件或将文件复制到另一个位置。在 Windows 上,使用rename而不是mv. 下面的命令会将日期附加到文件名。(请注意,这些是围绕 date 命令的反引号。)

下一步是刷新错误日志,这可以从命令行或 MySQL 中完成。在命令行中,使用 刷新错误日志mysqladmin。在 Windows 服务器上,该命令需要在 C:\ProgramData\MySQL\MySQL Server [版本号]\bin\ 目录下执行。用户需要具有 RELOAD 权限。

在 MySQL 中,运行以下命令之一。

检查新文件是否存在且为空。

压缩旧文件以节省空间。

这些步骤可用于创建可在 cronjob 中执行的脚本。Red Hat 操作系统已经为您提供了一个脚本mysql-log-rotate,但应谨慎使用。此脚本还会刷新二进制日志,如果在将数据更改中继到副本之前删除了二进制日志,则可以停止复制。
有关服务器日志维护的更多信息可以在MySQL 参考手册中找到。
原文标题:Simple Steps for Rotating the Error Log
原文作者: Monica Silva |
原文链接:https://virtual-dba.com/blog/simple-steps-for-rotating-mysql-error-log/




