通用查询日志(General Query Log)用来记录用户的所有操作,包括启动和关闭 MySQL 服务、更新语句和查询语句等。
默认情况下,通用查询日志功能是关闭的。可以通过以下命令查看通用查询日志是否开启,命令如下
mysql> SHOW VARIABLES LIKE '%general%';
+------------------+------------------------------------+
| Variable_name | Value |
+------------------+------------------------------------+
| general_log | OFF |
| general_log_file | /var/lib/mysql/VM_2_223_centos.log |
+------------------+------------------------------------+
2 rows in set (0.00 sec)
一、启动和设置通用查询日志
设置 MySQL 的环境变量 general_log 开启通用查询日志
mysql> set global general_log=1;
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW VARIABLES LIKE '%general%';
+------------------+------------------------------------+
| Variable_name | Value |
+------------------+------------------------------------+
| general_log | ON |
| general_log_file | /var/lib/mysql/VM_2_223_centos.log |
+------------------+------------------------------------+
2 rows in set (0.00 sec)
log_output={TABLE|FILE|NONE} # 定义一般查询日志和慢查询日志的输出格式,不指定时默认为file
二、查看通用查询日志
通用查询日志以文本文件的形式存储,可以使用普通文本文件查看该类型日志内容。
[root@VM_2_223_centos mysql]# tail -f /var/lib/mysql/VM_2_223_centos.log
2020-12-01T08:40:54.568987Z 21 Quit
2020-12-01T08:41:02.150470Z 24 Connect root@218.106.126.130 on using TCP/IP
2020-12-01T08:41:02.174931Z 24 Query SET NAMES utf8mb4
2020-12-01T08:41:02.199120Z 24 Init DB sys
2020-12-01T08:41:02.223423Z 24 Query SHOW TABLE STATUS LIKE 'aa'
2020-12-01T08:41:02.250486Z 24 Query SHOW ENGINES
2020-12-01T08:41:02.276314Z 9 Query SHOW CREATE TABLE `aa`
2020-12-01T08:41:02.743271Z 24 Query SELECT * FROM `aa` LIMIT 0, 0
2020-12-01T08:41:02.767889Z 24 Query SELECT * FROM `aa` LIMIT 0, 1000
2020-12-01T08:41:02.792628Z 24 Query SHOW COLUMNS FROM `sys`.`aa`