前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL的一般查询日志

MySQL的一般查询日志

作者头像
MySQLSE
发布2020-09-28 15:58:02
7440
发布2020-09-28 15:58:02
举报

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”

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL解决方案工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档