首页 > 数据库 >Mysql通用查询日志(General Query Log)解析

Mysql通用查询日志(General Query Log)解析

时间:2023-03-28 23:32:38浏览次数:40  
标签:03 Log 27T00 Mysql General 2023 mysql Query 日志

文档课题:Mysql通用查询日志(General Query Log)解析.
数据库:mysql 8.0.11
1、概念知识
说明:通用查询日志用来记录用户的所有操作,包括启动和关闭MySQL服务、更新语句、查询语句等.默认情况下通用查询日志功能是关闭的.
通过以下命令查看通用查询日志是否开启.
2、开启通用查询日志
mysql> show variables like '%general%';
+------------------+-------------------------------------+
| Variable_name    | Value                               |
+------------------+-------------------------------------+
| general_log      | OFF                                 |
| general_log_file | /usr/local/mysql/data/leo-mysql.log |
+------------------+-------------------------------------+
2 rows in set (0.00 sec)

说明:可以看出通用查询日志是关闭的,general_log_file变量指定通用查询日志文件所在位置.通用查询日志以文本文件的形式存储,可以使用普通文本文件查看该类型日志内容.
--打开通用查询日志功能
mysql> set global general_log=on;
Query OK, 0 rows affected (0.01 sec)

mysql> show variables like '%general%';
+------------------+-------------------------------------+
| Variable_name    | Value                               |
+------------------+-------------------------------------+
| general_log      | ON                                  |
| general_log_file | /usr/local/mysql/data/leo-mysql.log |
+------------------+-------------------------------------+
2 rows in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| leo                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.02 sec)

mysql> use leo;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> create table test (id int(2) not null auto_increment,name varchar(10) not null,sex char(5) not null,primary key(id));
Query OK, 0 rows affected (0.12 sec)

mysql> desc test;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(2)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(10) | NO   |     | NULL    |                |
| sex   | char(5)     | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql> insert into test values (1,'Jack','man');
Query OK, 1 row affected (0.07 sec)

mysql> insert into test values(2,'Cherry','woman');
Query OK, 1 row affected (0.06 sec)

mysql> select * from test;
+----+--------+-------+
| id | name   | sex   |
+----+--------+-------+
|  1 | Jack   | man   |
|  2 | Cherry | woman |
+----+--------+-------+
2 rows in set (0.00 sec)
3、查看查询日志
执行成功后,打开通用查询日志leo-mysql.log,如下为通用查询日志中部分内容.
[root@sztech ~]# cd /usr/local/mysql/data
[root@leo-mysql data]# more leo-mysql.log
/usr/local/mysql/bin/mysqld, Version: 8.0.11 (MySQL Community Server - GPL). started with:
Tcp port: 3306  Unix socket: /usr/local/mysql/mysql.sock
Time                 Id Command    Argument
2023-03-27T00:28:53.811857Z         8 Query     show variables like '%general%'
2023-03-27T00:33:08.064632Z         8 Query     show databases
2023-03-27T00:33:23.090309Z         8 Query     SELECT DATABASE()
2023-03-27T00:33:23.091216Z         8 Init DB    leo
2023-03-27T00:33:23.094592Z         8 Query     show databases
2023-03-27T00:33:23.096214Z         8 Query     show tables
2023-03-27T00:33:23.108782Z         8 Field List        test 
2023-03-27T00:37:14.570996Z         8 Query     select * from leo.tables
2023-03-27T00:37:57.272751Z         8 Query     show tables
2023-03-27T00:39:53.115583Z         8 Query     select table_name from infomation_schema.tables where table_schema='LEO'
2023-03-27T00:40:27.592514Z         8 Query     select table_name from information_schema.tables where table_schema='LEO'
2023-03-27T00:40:38.494288Z        8 Query     select table_name from information_schema.tables where table_schema='leo'
2023-03-27T00:42:30.057322Z         8 Query     drop table if exists test
2023-03-27T00:44:45.519995Z         8 Query     create table test (id int(2) not null auto_increment,name varchar(10) not null,sex char(5) not null,primary key(id))
2023-03-27T00:44:51.317058Z         8 Query     desc test
2023-03-27T00:45:13.112450Z         8 Query     insert into test values (1,'Jack','man')
2023-03-27T00:45:32.976748Z         8 Query     insert into test values(2,'Cherry','woman')
2023-03-27T00:46:08.971591Z         8 Query     select * from test
说明:可以看出通用查询日志非常清晰地记录了客户端的所有行为.
4、关闭通用日志
通用查询日志启动后,可通过如下两种方法停止.
A、将MySQL配置文件中相关配置注释掉,然后重启服务器.具体如下:
[mysqld]
#log=dir\filename
说明:上述方法需重启MySQL服务器,若有业务访问时是不允许的,此时可通过另一种方法动态控制通用查询日志的开启和关闭.
B、设置MySQL的环境变量general_log为关闭状态可以停止该日志.
mysql> SET GLOBAL general_log=off;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%general_log%';
+------------------+-------------------------------------+
| Variable_name    | Value                               |
+------------------+-------------------------------------+
| general_log      | OFF                                 |
| general_log_file | /usr/local/mysql/data/leo-mysql.log |
+------------------+-------------------------------------+
2 rows in set (0.01 sec)

标签:03,Log,27T00,Mysql,General,2023,mysql,Query,日志
From: https://blog.51cto.com/u_12991611/6155681

相关文章

  • weblogic-SSRF
    Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。1、启动环境 访问`http://your-ip:7001/uddiexplorer/`,无需登......
  • Verilog语法
    目录1、整数integer2、函数:关键字function-----endfunction3、关于Verilog的编译指令,使用方式为`keyword(1)`timescale(2)`define(3)`include(4)条件编译`ifdef1、整数......
  • MySQL事务执行过程
    目录一条SQL语句的执行过程两阶段提交MySQL的两阶段提交过程异常重启会出现什么现象?两阶段提交的缺点组提交组提交的过程MySQL磁盘I/O很高的优化方法一条SQL语句的执行......
  • azure databricks中使用Unity Catalog 03--Data Sharing
    本文介绍AzureDatabricks中的DeltaSharing,这是安全的数据共享平台,可用于与组织外的用户共享AzureDatabricks中的数据。sharing分两类:开放共享:可与任何用户共享数据......
  • Windows系统中mysql-connector 8+版本的下载
    今天学习JDBC时想去mysql官网下载mysql-connector的jar包但是让我很疑惑的是在官网没有发现jar包的直接下载经过我的一顿搜索,终于发现原来安装mysql时,mysql已经将各种......
  • mysql Gateway Time-out (rejected) 与服务器的连接断开,请检查网络状况与服务器的运
    操作mysql时出现如下错误504 mysql GatewayTime-out(rejected)与服务器的连接断开,请检查网络状况与服务器的运行状态。 解决办法:在nginx.conf中加入如下三条,......
  • MySQL:批量修改排序规则
    生成修改表排序规则的SQL语句SELECTCONCAT('ALTERTABLE',TABLE_SCHEMA,'.',TABLE_NAME,             'CONVERTTOCHARACTERSETutf8mb4COLLATEu......
  • ByteHouse MaterializedMySQL 增强优化
     更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群前言社区版ClickHouse推出了MaterializedMySQL数据库引擎,用于将MySQL中的表映射......
  • 小梅哥课程学习——数码管动态扫描显示的verilog实现(C)
    1//动态数码管扫描,通过这种方式可以节约引脚2//可以使用三八译码器来切换数码管位3//要求每个数码管每20ms都要点亮一次,20/8=2.5ms4//源代码1用的是组合逻......
  • MySQL 5 从安装到同步
    安装部分创建用户和组由于采用直接初始化方式所以用户不会自动创建需要为mysql手动创建用户与组;创建组groupaddmongodbtest创建用户useraddmongodbtest-gmongod......