查看mysql运行日志:mysql_general_log

查看mysql运行日志:mysql_general_log(查看mysql执行历史)

 

1、应用场景

在Linux命令行模式事实监控mysql的执行历史,就像redis->monitor一样~

2、说明

默认mysql是关闭general_log的,因为实时监控时间长了这个文件会很大!所以只有需要临时调试程序的时候手动开启即可,调试完成记得手动删除general_log文件,并关闭设置。

3、设置

复制代码
// 查看mysql当前设置
mysql> show VARIABLES like '%general_log%';
+------------------+--------------------------+
| Variable_name    | Value                    |
+------------------+--------------------------+
| general_log      | OFF                      |
| general_log_file | /var/lib/mysql/xxx.log |
+------------------+--------------------------+
2 rows in set (0.00 sec)

// 关闭和开启
mysql> set global general_log="off";
Query OK, 0 rows affected (0.00 sec)

mysql> set global general_log="on";
Query OK, 0 rows affected (0.00 sec)
复制代码

参考如下实践:

复制代码
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bg-biz             |
| bg-bnzc            |
| bg-mc              |
| bg-scheduler       |
| bg-uc              |
| bg-hao-db      |
| haotest                |
| mysql              |
| performance_schema |
| xxl-job            |
+--------------------+
11 rows in set (0.00 sec)

mysql> use bg-vehicle-db;

mysql> show VARIABLES like '%general_log%';
+------------------+------------------------------+
| Variable_name    | Value                        |
+------------------+------------------------------+
| general_log      | OFF                          |
| general_log_file | /var/lib/mysql/localhost.log |
+------------------+------------------------------+
2 rows in set (0.00 sec)

mysql> set global general_log="on";
Query OK, 0 rows affected (0.00 sec)

mysql> show VARIABLES like '%general_log%';
+------------------+------------------------------+
| Variable_name    | Value                        |
+------------------+------------------------------+
| general_log      | ON                           |
| general_log_file | /var/lib/mysql/localhost.log |
+------------------+------------------------------+
2 rows in set (0.00 sec)

mysql> 
复制代码

 

4、实时监控执行sql

执行上一步的查看设置命令,会显示general_log_file文件的路径。 
使用tail 命令实时监控:

 

[root@localhost ~]# tail -f /var/lib/mysql/localhost.log

 

 

5. 记得关闭掉

使用完成之后,记得关闭掉:

mysql> set global general_log="off";
Query OK, 0 rows affected (0.00 sec)

 

posted @   念槐聚  阅读(1101)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-08-02 【网摘】DICOM 基础简介
2016-08-02 DICOM标准相关资料
点击右上角即可分享
微信分享提示