MySQL 客户端日志记录


让我们了解一下关于 MySQL 的客户端日志记录。mysql 客户端可以对执行的语句进行不同类型的日志记录,并且可以交互式地进行操作 -

UNIX - 日志记录

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

如果提供了 --syslog 选项,则 mysql 会将语句写入所有平台上的系统日志记录功能。在 Unix 上,这被称为 syslog。

Windows - 日志记录

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

日志记录是如何发生的?

让我们了解一下日志记录是如何发生的 -

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

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

  • 如果语句与“忽略”列表中的模式匹配,则会忽略这些语句,并且不会记录。

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

  • 如果未被忽略的语句跨越多行,并且不包含终止分隔符,则 mysql 会将这些行连接起来形成一个完整的语句,并将换行符映射为空格,并记录结果以及分隔符。

更新于: 2021年3月10日

381 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告