MySQL 查看执行的 SQL 语句

MySQL 查看执行的 SQL 语句

背景:
  1. 查看开发框架最后执行的SQL,以便优化改进SQL
实现原理:
  1. 启用 MySQL 的记录日志功能
  2. 使用 tail 命令来实时展示内容到屏幕上
实现流程:
  1. 在 MySQL 中执行命令 SHOW VARIABLES LIKE "general_log%"; 来查看日志启用状态与日志文件地址。其中 general_log 右侧的 ON 表示启用,如果为OFF则表示关闭; general_log_file 右侧的值就是保存日志的文件了
mysql> SHOW VARIABLES LIKE "general_log%"; 
+------------------+---------------------------------+
| Variable_name    | Value                           |
+------------------+---------------------------------+
| general_log      | ON                              |
| general_log_file | /var/lib/mysql/4285ed06c6c3.log |
+------------------+---------------------------------+
  1. 如果 general_log 右侧的值为OFF,那就需要在 MySQL 中执行命令SET GLOBAL general_log = 'ON';来临时启用打印日志的配置
mysql> SET GLOBAL general_log = 'ON'; 
Query OK, 0 rows affected (0.00 sec)
  1. 最后,在系统中使用 tail 命令并结合日志文件路径来实时查看日志,格式为 tail -f FileName 。如我配置上的 general_log_file = /var/lib/mysql/4285ed06c6c3.log,那我就可以执行一下命令tail -f /var/lib/mysql/4285ed06c6c3.log来查看打印的日志。
# tail -f /var/lib/mysql/4285ed06c6c3.log
2021-03-17T15:10:43.913522Z       590 Query     SHOW VARIABLES LIKE 'sql_mode';
2021-03-17T15:10:43.915522Z       590 Query     SELECT COUNT(*) AS support_ndb FROM information_schema.ENGINES WHERE Engine = 'ndbcluster'
2021-03-17T15:10:43.920606Z       590 Init DB   love_back
2021-03-17T15:10:53.392199Z       590 Query     SHOW VARIABLES LIKE "general_log%"
2021-03-17T15:11:57.552148Z       591 Connect   root@localhost on  using Socket
2021-03-17T15:33:58.957943Z       590 Query     SET GLOBAL general_log = 'ON'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值