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 节,“密码和日志记录”。