zoukankan      html  css  js  c++  java
  • MySQL查看实时执行的SQL语句

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

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

    1 查看LOG功能

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

    mysql> SHOW VARIABLES LIKE "general_log%";

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

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

    2 打开LOG功能

    2.1 临时开启

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

    1.  
      mysql> SET GLOBAL general_log = 'ON';
    2.  
      mysql> SET GLOBAL general_log_file = '/var/log/mysql/general_log.log';

    这两个命令在MySQL重启后失效,为临时方法。

    说明:这个文件会随着访问的增加而不断变大,所以生产环境建议临时开启,用完及时关闭。

    2.2 永久开启

    永久有效需要配置my.cnf文件,加入下面两行:

    general_log = 1
    general_log_file = /var/log/mysql/general_sql.log

    重启MySQL生效。

    3 实时查看

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

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

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

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

  • 相关阅读:
    C# 中的委托和事件
    C# 托管资源和非托管资源
    .NET Core 2.0
    PyQt5教程——事件和信号(5)
    PyQt5教程——布局管理(4)
    PyQt5教程——菜单和工具栏(3)
    PyQt5教程——第一个程序(2)
    PyQt5教程——介绍(1)
    如何通过 GitLab 进行在Azure WebApp中持续部署
    如何检测 Azure Web 应用沙盒环境文件系统存储量
  • 原文地址:https://www.cnblogs.com/webenh/p/12089878.html
Copyright © 2011-2022 走看看