一尘不染

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

mysql

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


阅读 302

收藏
2020-05-17

共1个答案

一尘不染

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

  1. 执行 SET GLOBAL log_output = 'TABLE';
  2. 执行 SET GLOBAL general_log = 'ON';
  3. 看看桌子 mysql.general_log

如果您希望输出到文件而不是表:

  1. SET GLOBAL log_output = "FILE"; 默认值
  2. SET GLOBAL general_log_file = "/path/to/your/logfile.log";
  3. SET GLOBAL general_log = 'ON';

我更喜欢这种方法来编辑.cnf文件,因为:

  1. 您没有编辑my.cnf文件,并可能永久打开日志记录
  2. 您不会在文件系统中四处寻找查询日志-甚至更糟的是,由于需要完美的目的地而分心。 /var/log /var/data/log /opt /home/mysql_savior/var
  3. 您不必重新启动服务器并中断与服务器的任何当前连接。
  4. 重新启动服务器会将您留在开始的地方(默认情况下,日志仍处于关闭状态)

有关更多信息,请参见《 MySQL 5.1参考手册-服务器系统变量-
general_log》。

2020-05-17