## 5.4 MySQL 服务器日志

[5.4.1 选择通用查询日志和慢查询日志输出目的地](log-destinations.html)
[5.4.2 错误日志](error-log.html)
[5.4.3 通用查询日志](query-log.html)
[5.4.4 二进制日志](binary-log.html)
[5.4.5 慢查询日志](slow-query-log.html)
[5.4.6 服务器日志维护](log-file-maintenance.html)

[](<>)[](<>)

MySQL 服务器有几个日志可以帮助您找出正在发生的活动。

| 日志类型 | 写入日志的信息 |
| ---- | ------- |
| 错误日志 | 启动、运行或停止时遇到的问题[**mysqld**](mysqld.html) |
| 一般查询日志 | 已建立的客户端连接和从客户端收到的语句 |
| 二进制日志 | 更改数据的语句（也用于复制） |
| 中继日志 | 从复制源服务器接收的数据更改 |
| 慢查询日志 | 查询时间超过[`long_query_time`](server-system-variables.html#sysvar_long_query_time)秒执行 |
| DDL日志（元数据日志） | 由DDL语句执行的元数据操作 |

默认情况下，除Windows上的错误日志外，不启用任何日志。（DDL日志总是在需要时创建，没有用户可配置的选项；请参阅。）[DDL日志](https://dev.mysql.com/doc/refman/5.7/en/ddl-log.html)。以下特定于日志的部分提供了有关启用日志记录的服务器选项的信息。

[](<>)

默认情况下，服务器会为数据目录中所有启用的日志写入文件。通过刷新日志，可以强制服务器关闭并重新打开日志文件（或在某些情况下切换到新的日志文件）。当您发布日志时，会发生日志刷新[`刷新日志`](flush.html#flush-logs)陈述处决[**mysqladmin**](mysqladmin.html)用一个`刷新日志`或`刷新`论点或者执行[**mysqldump**](mysqldump.html)用一个[`--刷新日志`](mysqldump.html#option_mysqldump_flush-logs)或[`--主数据`](mysqldump.html#option_mysqldump_master-data)选项看见[第13.7.8.3节，“齐平声明”](flush.html),[第4.5.2节，“mysqladmin-一个MySQL服务器管理程序”](mysqladmin.html)和[第4.5.4节，“mysqldump-数据库备份程序”](mysqldump.html)。此外，当二进制日志的大小达到[`最大尺寸`](replication-options-binary-log.html#sysvar_max_binlog_size)系统变量。

您可以在运行时控制常规查询和慢速查询日志。您可以启用或禁用日志记录，或更改日志文件名。您可以告诉服务器将常规查询和慢速查询条目写入日志表、日志文件或两者。有关详细信息，请参阅[第5.4.1节，“选择常规查询日志和慢速查询日志输出目标”](log-destinations.html), [第5.4.3节，“一般查询日志”](query-log.html)和[第5.4.5节，“慢速查询日志”](slow-query-log.html).

中继日志仅在副本上使用，用于保存来自复制源服务器的数据更改，这些更改也必须在副本上进行。有关中继日志内容和配置的讨论，请参阅[第17.2.4.1节，“继电器日志”](replica-logs-relaylog.html).

有关旧日志文件过期等日志维护操作的信息，请参阅[第5.4.6节“服务器日志维护”](log-file-maintenance.html).

有关保持日志安全的信息，请参阅[第6.1.2.3节“密码和日志记录”](password-logging.html).
