MySQL查看实时执行的SQL语句

MySQL默认不能实时查看执行的SQL语句,因为这会消耗一定的资源。

要开启这个功能,稍微配置一下,打开这个LOG记录就可以了。

1 查看LOG功能

首先,查看是否已经开启实时SQL语句记录。

mysql> SHOW VARIABLES LIKE "general_log%";

如下general_log值为OFF说明没有开启:

+------------------+----------------------------------+
| Variable_name    | Value                            |
+------------------+----------------------------------+
| general_log      | OFF                              |
| general_log_file | /var/lib/mysql/galley-pc.log |
+------------------+----------------------------------+
2 rows in set (0.00 sec)

2 打开LOG功能

如下,打开实时记录SQL语句功能,并指定自定义的log路径:

mysql> SET GLOBAL general_log = 'ON';
mysql> SET GLOBAL general_log_file = '/var/lib/mysql/sql_statement.log';

3 实时查看

过一小段时间后,就可以导出查看/var/lib/mysql/sql_statement.log文件了,里面记录了所有执行的SQL语句。

如果要实时查看该文件的改动,在Linux系统用tail命令:

$ tail -f /var/lib/mysql/sql_statement.log

另外,也可以用BareTail软件实时查看。

这个功能主要用来查找问题,解决之后请关闭,否则生成的LOG文件会很大。

 

参考资料:

  1. 查看Mysql实时执行的Sql语句

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *