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

标签 mysql logging

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

最佳答案

对于那些拥有 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 Reference Manual - Server System Variables - general_log

关于mysql - 如何显示在 MySQL 上执行的最后一个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/650238/

相关文章:

mysql - Ruby on Rails 多个唯一列

mysql - 每当尝试将另一个表中的列作为别名连接时,都会出现 "subquery returns more than one row"错误?

mysql - 对 MYSQL 标签表进行排序

PHP:mysql查询给出一个 bool 值

php - 疯狂的字符 - 试图插入到 UTF-8

java - Log4j。将日志放入 mongodb

java - 在加载之前将属性传递给 log4j

python - 在基于fork的多重处理期间,如何防止python记录器和处理程序的继承?

java - 如何使用 log4j 关闭注销?

linux - 管理 cron 作业创建的日志文件