如何显示在MySQL上执行的最后一个查询?

是否有任何查询/方式显示在所有服务器上执行的最后查询?


对于MySQL> = 5.1.12的用户,您可以在运行时全局控制此选项:

  • 执行SET GLOBAL log_output = 'TABLE';
  • 执行SET GLOBAL general_log = 'ON';
  • 看看表mysql.general_log
  • 如果你喜欢输出到文件而不是表格:

  • SET GLOBAL log_output = "FILE"; 默认。
  • SET GLOBAL general_log_file = "/path/to/your/logfile.log";
  • SET GLOBAL general_log = 'ON';
  • 我更喜欢这种方法来编辑.cnf文件,因为:

  • 你并没有编辑my.cnf文件,并可能永久开启日志记录
  • 你不是在寻找查询日志的文件系统周围钓鱼 - 或者更糟糕的是,由于需要完美的目的地而分心。 /var/log /var/data/log /opt /home/mysql_savior/var
  • 重新启动服务器会将您留在您开始的位置(日志默认仍处于关闭状态)
  • 您不必重新启动服务器并中断当前的任何连接。
  • 有关更多信息,请参阅MySQL 5.1参考手册 - 服务器系统变量 - general_log


    您可以为该类诊断启用一般查询日志。 通常,您不会在生产服务器上记录所有SELECT查询,但这是性能杀手。

    编辑你的MySQL配置,例如/etc/mysql/my.cnf - 寻找或者添加一行这样的行

    [mysqld]
    log = /var/log/mysql/mysql.log
    

    重新启动mysql来获取更改,现在可以

    tail -f /var/log/mysql/mysql.log
    

    嘿presto,你可以看到他们进来的查询。


    链接地址: http://www.djcxy.com/p/95045.html

    上一篇: How to show the last queries executed on MySQL?

    下一篇: How to use INNER JOIN in the scenario?