MySQL 服务器有几个日志可以帮助您了解正在进行的活动。
日志类型 | 写入日志的信息 |
---|---|
错误日志 | 启动、运行或停止 mysqld 时遇到的问题 |
通用查询日志 | 已建立的客户端连接和从客户端接收到的语句 |
二进制日志 | 更改数据的语句(也用于复制) |
中继日志 | 从复制源服务器接收到的数据更改 |
慢查询日志 | 执行时间超过 long_query_time 秒的查询 |
DDL 日志 | 由 DDL 语句执行的原子 DDL 操作 |
默认情况下,除了 Windows 上的错误日志外,没有启用任何日志。有关 DDL 日志行为的信息,请参阅 查看 DDL 日志。以下特定于日志的部分提供了有关启用日志记录的服务器选项的信息。
默认情况下,服务器会将所有已启用日志的文件写入数据目录。您可以通过刷新日志来强制服务器关闭并重新打开日志文件(或者在某些情况下切换到新的日志文件)。当您发出 FLUSH LOGS
语句;使用 flush-logs
或 refresh
参数执行 mysqladmin;或者使用 --flush-logs
选项执行 mysqldump 时,会发生日志刷新。请参阅 第 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 节,“密码和日志记录”。