mysql 日志_MySQL的一般查询日志

MySQL有很多种日志,这一篇文章里主要介绍一般查询日志。General Query Log,一般查询日志是用来记录MySQL服务器做了哪些事情,当客户端连接至MySQL服务器时,日志会记录来自客户端的查询语句。通常使用一般查询日志来确定错误来自哪个客户端。

日志的内容会包括客户端的连接类型,例如:TCP/IP,SSL(经过加密的TCP/IP),SOCKET(UNIX socket 文件通信)等等。需要注意的一点,日志里面的内容是按照从客户端接收的语句顺序记录,而不是按照实际执行的顺序记录,这一点与二进制日志有很大的不同。

二进制日志的格式对一般查询日志的影响。当二进制日志采用不同格式时,会对一般查询日志产生影响。当日志采用基于语句的格式(STATEMENT)时,主从复制的情况下,从机会记录所有接收的执行语句。并且,当连接主机的客户端使用了mysqlbinlog工具对日志里面的事件进行读取,该语句也会计入主机的一般查询日志。当日志采用基于数据行的格式(ROW)时,更新操作会发送实际的数据行进行,而不是使用查询语句,因此,一般查询日志里不会记录该部分的查询语句。同理,当日志采用混合格式(MIX)时,会有部分语句无法记录到一般查询日志。

默认情况下,一般查询日志是关闭的,可以通过设置general_log 进行开启和关闭。并通过general_log_file指定日志文件的名称。另外也可以通过设置log_output来指定日志是写入文件还是系统表。

关于安全性。有人可能会问:“记录查询语句会不会把密码也记录到日志里面?”,如果查询语句里包括明文的密码,记录到一般查询日志里面时密码经过重写,不是真实的密码。如果开启了 --log-raw 选项,则会在日志里面显示真实的密码,因此请确保仅在必要的时刻开启该选项。

以上内容是关于MySQL的一般查询日志的介绍,更多详细内容请访问:“https://dev.mysql.com/doc/refman/8.0/en/query-log.html”

感谢您关注“MySQL解决方案工程师”!

1bb6d5a8fd5acbb7d6309ac82c8d3e74.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值