MySQL 服务器有几个日志,可以帮助您了解正在发生什么活动。
Log Type | Information Written to Log |
---|---|
错误日志 | 启动、运行或停止 mysqld 时遇到的问题 |
通用查询日志 | 已建立的客户端连接和从客户端接收的语句 |
二进制日志 | 更改数据的语句(也用于复制) |
中继日志 | 从复制源服务器接收的数据更改 |
慢查询日志 | 执行时间超过 long_query_time 秒的查询 |
DDL 日志(元数据日志) | DDL 语句执行的元数据操作 |
默认情况下,除了 Windows 上的错误日志外,所有日志均未启用。(DDL 日志总是根据需要创建的,并且没有用户可配置的选项;见 DDL 日志。)以下日志特定部分提供了有关服务器选项的信息,以启用日志记录。
默认情况下,服务器在数据目录中写入所有启用的日志文件。您可以强制服务器关闭并重新打开日志文件(或在某些情况下切换到新日志文件),方法是发出 FLUSH LOGS
语句;执行 mysqladmin 带有 flush-logs
或 refresh
参数;或执行 mysqldump 带有 --flush-logs
或 --source-data
选项。见 第 15.7.8.3 节,“FLUSH 语句”、第 6.5.2 节,“mysqladmin — MySQL 服务器管理程序” 和 第 6.5.4 节,“mysqldump — 数据库备份程序”。此外,当二进制日志的大小达到 max_binlog_size
系统变量的值时,也会刷新二进制日志。
您可以在运行时控制通用查询日志和慢查询日志。您可以启用或禁用日志记录,或者更改日志文件名。您可以告诉服务器将通用查询和慢查询条目写入日志表、日志文件或两者。有关详细信息,请参阅 第 7.4.1 节,“选择通用查询日志和慢查询日志输出目标”、第 7.4.3 节,“通用查询日志” 和 第 7.4.5 节,“慢查询日志”。
中继日志仅用于副本上,以保存来自复制源服务器的数据更改。有关中继日志内容和配置的讨论,请参阅 第 19.2.4.1 节,“中继日志”。
有关日志维护操作的信息,例如旧日志文件的过期,请参阅 第 7.4.6 节,“服务器日志维护”。
有关保持日志安全的信息,请参阅 第 8.1.2.3 节,“密码和日志记录”。