广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库——MySQL通用查询日志(General Query Log)
  • 946
分享到

MySQL数据库——MySQL通用查询日志(General Query Log)

数据库mysqlmybatis 2023-10-01 18:10:29 946人浏览 独家记忆
摘要

通用查询日志(General Query Log)用来记录用户的所有操作,包括启动和关闭 Mysql 服务、更新语句和查询语句等。 默认情况下,通用查询日志功能是关闭的。可以通过以下命令查看通用查询日志是否开启,命令如下: mysql> S

通用查询日志(General Query Log)用来记录用户的所有操作,包括启动和关闭 Mysql 服务、更新语句和查询语句等。

默认情况下,通用查询日志功能是关闭的。可以通过以下命令查看通用查询日志是否开启,命令如下:

mysql> SHOW VARIABLES LIKE '%general%';+------------------+----------------------------------------------------------------+| Variable_name    | Value  |+------------------+----------------------------------------------------------------+| general_log      | OFF    || general_log_file | C:\ProgramData\mysql\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log |+------------------+----------------------------------------------------------------+2 rows in set, 1 warning (0.01 sec)

从结果可以看出,通用查询日志是关闭的,general_log_file 变量指定了通用查询日志文件所在的位置。

启动和设置通用查询日志

在 Mysql 中,可以通过在 MySQL 配置文件添加 log 选项来开启通用查询日志,格式如下:

[mysqld]log=dir/filename

其中,dir 参数指定通用查询日志的存储路径;filename 参数指定日志的文件名。如果不指定存储路径,通用查询日志将默认存储到 MySQL 数据库的数据文件夹下。如果不指定文件名,默认文件名为 hostname.log,其中 hostname 表示主机名。

查看通用查询日志

如果希望了解用户最近的操作,可以查看通用查询日志。通用查询日志以文本文件的形式存储,可以使用普通文本文件查看该类型日志内容。

例 1

首先我们查看通用查询日志功能是否是开启状态,然后查询 tb_student 表的记录,SQL 命令和执行过程如下:

mysql> SHOW VARIABLES LIKE '%general%';+------------------+----------------------------------------------------------------+| Variable_name    | Value  |+------------------+----------------------------------------------------------------+| general_log      | ON     || general_log_file | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log |+------------------+----------------------------------------------------------------+2 rows in set, 1 warning (0.02 sec)mysql> use test;Database changedmysql> SELECT * FROM tb_student;+----+--------+| id | name   |+----+--------+|  1 | Java   ||  2 | MySQL  ||  3 | python |+----+--------+3 rows in set (0.06 sec)

执行成功后,打开通用查询日志,这里日志名称为 LAPTOP-UHQ6V8KP.log,下面是通用查询日志中的部分内容:

C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe, Version: 5.7.29-log (MySQL CommUnity Server (GPL)). started with:tcp Port: 3306, Named Pipe: MySQLTime                 Id Command    Argument2020-05-29T06:43:44.382878Z     7 Quit2020-05-29T06:44:10.001382Z     8 Connect root@localhost on  using SSL/TLS2020-05-29T06:44:10.007532Z     8 Query select @@version_comment limit 12020-05-29T06:44:11.748179Z     8 Query SHOW VARIABLES LIKE '%general%'2020-05-29T06:44:25.487472Z     8 Query SELECT DATABASE()2020-05-29T06:44:25.487748Z     8 Init DB test2020-05-29T06:44:35.390523Z     8 Query SELECT * FROM tb_student

可以看出,该日志非常清晰地记录了客户端的所有行为。

停止通用查询日志

通用查询日志启动后,可以通过两种方法停止该日志。一种是将 MySQL 配置文件中的相关配置注释掉,然后重启服务器,来停止通用查询日志。具体内容如下:

[mysqld]#log=dir\filename

上述方法需要重启 MySQL 服务器,这在某些场景,比如有业务量访问的情况下是不允许的,这时可以通过另一种方法来动态地控制通用查询日志的开启和关闭。

设置 MySQL 的环境变量 general_log 为关闭状态可以停止该日志,示例如下:

mysql> SET GLOBAL general_log=off;Query OK, 0 rows affected (0.00 sec)mysql> SHOW VARIABLES LIKE '%general_log%' \G*************************** 1. row ***************************Variable_name: general_log        Value: OFF*************************** 2. row ***************************Variable_name: general_log_file        Value: C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log2 rows in set, 1 warning (0.01 sec)

删除通用查询日志

在 MySQL 中,可以使用 mysqladmin 命令来开启新的通用查询日志。新的通用查询日志会直接覆盖旧的查询日志,不需要再手动删除了。

mysqladmin 命令的语法如下:

mysqladmin -uroot -p flush-logs

需要注意的是,如果希望备份旧的通用查询日志,必须先将旧的日志文件拷贝出来或者改名。然后,再执行 mysqladmin 命令。

除了上述方法之外,还可以手工删除通用查询日志。删除之后需要重新启动 MySQL 服务。重启之后就会生成新的通用查询日志。如果希望备份旧的日志文件,可以将旧的日志文件改名,然后重启 MySQL 服务。

由于通用查询日志会记录用户的所有操作,如果数据库的使用非常频繁,通用查询日志将会占用非常大的磁盘空间,对系统性能影响较大。一般情况下,数据管理员可以删除很长时间之前的通用查询日志或关闭此日志,以保证 MySQL 服务器上的硬盘空间。

黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括

来源地址:https://blog.csdn.net/Itmastergo/article/details/130880921

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库——MySQL通用查询日志(General Query Log)

本文链接: https://www.lsjlt.com/news/422365.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库——MySQL通用查询日志(General Query Log)
    通用查询日志(General Query Log)用来记录用户的所有操作,包括启动和关闭 MySQL 服务、更新语句和查询语句等。 默认情况下,通用查询日志功能是关闭的。可以通过以下命令查看通用查询日志是否开启,命令如下: mysql> S...
    99+
    2023-10-01
    数据库 mysql mybatis
  • MySQL数据库——MySQL慢查询日志(Slow Query Log)
    慢查询日志用来记录在 MySQL 中执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化。 通俗的说,MySQL 慢查询日志是排查问题的 SQL 语句,以及检查当前 MySQL 性能的一个重要功能...
    99+
    2023-08-31
    mysql 数据库 sql
  • mysql的全量(查询)日志general-log的开启和分析方法
        熟悉mysql的朋友应该都知道,error日志只记录数据库层的报错,binlog只记录增/删/改的记录,但是没记录谁执行,只记录执行用户名,slowlog虽然...
    99+
    2022-10-18
  • MySQL数据库子查询 sub query
    目录1、基本概念1.1、子查询1.2、主查询1.3、子查询和主查询的关系1.4、子查询的分类2、标量子查询2.1、基本语法2.2、示例3、列子查询3.1、基本语法3.2、示例4、行子...
    99+
    2022-11-13
  • 【MySQL】数据库慢查询日志分析--Lepus
    [root@wallet04 ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm [root@wa...
    99+
    2022-10-18
  • Mysql通用查询日志和慢查询日志的示例分析
    小编给大家分享一下Mysql通用查询日志和慢查询日志的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL中的日志包...
    99+
    2022-10-18
  • 什么是MySQL通用查询和慢查询日志
    下面讲讲关于什么是MySQL通用查询和慢查询日志,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完什么是MySQL通用查询和慢查询日志这篇文章你一定会有所受益。MySQL中的日志包...
    99+
    2022-10-18
  • MySQL错误日志与通用查询日志图文详析
    目录MySQL日志文件系统的组成启动错误日志查看错误日志删除错误日志通用查询日志删除通用查询日志通用查询日志的备份 总结MySQL日志文件系统的组成   &nbs...
    99+
    2022-11-13
  • MySQL通用查询日志和慢查询日志有何区别及各自作用
    本文主要给大家介绍MySQL通用查询日志和慢查询日志有何区别及各自作用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL通用查询日志和慢查询日...
    99+
    2022-10-18
  • Navicat中查看MySQL通用查询日志的方法
    正常情况下,为了保证数据库的性能,通用查询日志处于不启用状态,并且在没开启过的情况下,磁盘中是不保存hostname.log的日志的。 1.查询日志状态 在Navica查询窗口中输入以下命令 show variables like 'gen...
    99+
    2023-08-17
    mysql 数据库
  • MySQL错误日志与通用查询实例分析
    这篇文章主要介绍“MySQL错误日志与通用查询实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL错误日志与通用查询实例分析”文章能帮助大家解决问题。MySQL日志文件系统的组成&nbs...
    99+
    2023-06-29
  • 通过使用filebeat收集mysql慢查询日志详细步骤
    下文主要给大家带来通过使用filebeat收集mysql慢查询日志详细步骤,希望这些内容能够带给大家实际用处,这也是我编辑通过使用filebeat收集mysql慢查询日志详细步骤这篇文章的主要目的。好了,废...
    99+
    2022-10-18
  • MySQL数据库:子查询的应用
    子查询 子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。 # 子查询的用法 # 在字段 select (select cName from courses w...
    99+
    2018-04-26
    MySQL数据库:子查询的应用
  • 如何通过查询优化MySQL数据库性能
    如何通过查询优化MySQL数据库性能?相信很多新手小白还没学会这个技能,通过这篇文章的总结,希望你能学会这个技能。以下资料是实现的步骤。查询是数据库技术中最常用的操作。查询操作的过程比较简单,首先从客户端发...
    99+
    2022-10-18
  • mysql数据库中事务日志的作用
    这篇文章将为大家详细讲解有关mysql数据库中事务日志的作用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。mysql事务日志可以帮助提高事务的效率。事务日志...
    99+
    2022-10-18
  • 如何使用Workbench查询mysql数据库
    这期内容当中小编将会给大家带来有关如何使用Workbench查询mysql数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先通过点击电脑开始→选择Mysql Wor...
    99+
    2022-10-18
  • mysql通过命令行查询数据库校对规则
    mysql通过命令行查询数据库校对规则1.语法: SHOW COLLATION;2.语法解析: SHOW COLLATION:查看数据库校对规则;3.示例: # 查看数据库校对规则 SHOW COLLATI...
    99+
    2022-10-18
  • MySQL 数据库 like 语句通配符模糊查询小结
    MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 数据库 like 语句通配符模糊查询小结 前言 ...
    99+
    2022-05-24
    MySQL 模糊查询like MySQL 模糊查询
  • mysql数据库子查询的实例用法
    本篇内容介绍了“mysql数据库子查询的实例用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#查询和Zl...
    99+
    2022-10-18
  • mysql数据库如何实现连续日期的统计查询
    我们经常会用到按日期汇总某些数据,一般我们使用group by + 统计函数来进行查询,得到的结果如下图所示: 在实际应用场景中,并不是每个时间段都有数据,所以我们汇总出来的结果中,日期是不连续的。...
    99+
    2023-09-03
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作