怎么抓取MySQL执行的命令?

在 MySQL 中抓取执行的命令有多种方法,不同的方法适用于不同的场景,以下为你详细介绍:

1. 使用 MySQL 日志功能

通用查询日志(General Query Log)

通用查询日志会记录 MySQL 服务器接收到的所有 SQL 语句,包括查询、插入、更新、删除等操作。
  • 开启通用查询日志
    • 临时开启:在 MySQL 客户端中执行以下 SQL 语句,该设置在 MySQL 服务器重启后会失效。
SET GLOBAL general_log = 'ON';
SET GLOBAL log_output = 'FILE';

log_output 可以设置为 'FILE'(记录到文件)或 'TABLE'(记录到 mysql.general_log 表)。
  • 永久开启:编辑 MySQL 的配置文件(通常是 my.cnf 或 my.ini),在 [mysqld] 部分添加或修改以下内容:
general_log = 1
general_log_file = /path/to/your/general.log

将 /path/to/your/general.log 替换为你希望保存日志文件的路径,保存配置文件后重启 MySQL 服务。
  • 查看通用查询日志
    • 如果 log_output 设置为 'FILE',可以使用文本编辑器或命令行工具(如 catless 等)查看日志文件内容。例如:
less /path/to/your/general.log
  • 如果 log_output 设置为 'TABLE',可以在 MySQL 客户端中执行以下 SQL 语句查看日志:
 
SELECT * FROM mysql.general_log;
  • 关闭通用查询日志
    • 临时关闭:在 MySQL 客户端中执行以下 SQL 语句:
SET GLOBAL general_log = 'OFF';

  • 永久关闭:从配置文件中删除或注释掉相关配置项,然后重启 MySQL 服务。

2. 使用慢查询日志(Slow Query Log)

慢查询日志主要记录执行时间超过指定阈值的 SQL 语句,对于性能优化非常有帮助。
  • 开启慢查询日志
    • 临时开启:在 MySQL 客户端中执行以下 SQL 语句:
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1; -- 设置慢查询的时间阈值为 1 秒
SET GLOBAL log_output = 'FILE';
SET GLOBAL slow_query_log_file = /path/to/your/slow.log;
  • 永久开启:编辑 MySQL 的配置文件,在 [mysqld] 部分添加或修改以下内容:
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /path/to/your/slow.log

保存配置文件后重启 MySQL 服务。
  • 查看慢查询日志:使用与查看通用查询日志相同的方法查看慢查询日志文件内容。
  • 关闭慢查询日志:与关闭通用查询日志的方法类似。

3. 使用 MySQL 代理工具

ProxySQL

ProxySQL 是一个开源的 MySQL 代理工具,可以拦截和记录所有经过它的 SQL 语句。

  • 安装和配置 ProxySQL:按照 ProxySQL 的官方文档进行安装和配置,将其配置为代理 MySQL 服务器。
  • 查看记录的 SQL 语句:ProxySQL 提供了一些管理接口和工具,可以查看和分析记录的 SQL 语句。

4. 使用数据库监控工具

MySQL Enterprise Monitor

MySQL Enterprise Monitor 是 MySQL 官方提供的企业级监控工具,可以实时监控 MySQL 服务器的活动,包括执行的 SQL 语句。需要购买 MySQL Enterprise Edition 许可证才能使用该工具。

Percona Monitoring and Management (PMM)

PMM 是 Percona 公司开发的开源监控工具,支持对 MySQL 等多种数据库的监控。可以通过 PMM 界面查看 MySQL 执行的 SQL 语句和相关性能指标。

posted on   数据与人文  阅读(9)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示