MySQL 客户端日志记录

mysqlmysqli database

让我们了解 MySQL 的客户端日志记录。mysql 客户端可以对执行的语句进行不同类型的日志记录,并且可以以交互方式进行−

UNIX - 日志记录

在 Unix 上,mysql 将语句写入历史文件。默认情况下,此文件在用户主目录中命名为 .mysql_history。要指定不同的文件名,必须设置 MYSQL_HISTFILE 环境变量的值。

如果给出了 --syslog 选项,mysql 将在各种平台上将语句写入系统日志记录工具。在 Unix 上,这称为 syslog。

Windows - 日志记录

在 Windows 上,它称为 Windows 事件日志。记录消息出现的目标取决于系统。例如,在 Linux 上,目标通常是 /var/log/messages 文件。

日志记录如何发生?

让我们了解日志记录如何发生 −

对于每个启用的日志记录目标,语句日志记录按如下所述发生 −

  • 仅当以交互方式执行语句时才会记录语句。从文件或管道读取语句时,语句是非交互的。可以借助 --batch 或 --execute 选项抑制语句日志记录操作。

  • 如果语句与"ignore"中存在的模式匹配,则会被忽略并且不会记录列表。

  • mysql 会单独记录每个未忽略、非空的语句行。

  • 如果未忽略的语句跨越多行,且不包括终止分隔符,则 mysql 将连接各行以形成完整的语句,并将换行符映射到空格,并记录结果以及分隔符。


相关文章