用于显示查询历史的SQL命令

时间:2011-10-19 07:41:24

标签: mysql

我想在我的MYSQL查询浏览器中显示我执行的sql命令历史记录。用于显示历史记录的sql语句是什么?

8 个答案:

答案 0 :(得分:128)

 cat ~/.mysql_history

这将显示在系统上运行的所有mysql命令

答案 1 :(得分:23)

每个人都使用MySQL> 5.1.11

  1. 执行SET GLOBAL log_output ='TABLE';
  2. 执行SET GLOBAL general_log ='ON';
  3. 查看表mysql.general_log
  4. 如果要输出到日志文件:

    1. SET GLOBAL log_output =“FILE”;
    2. SET GLOBAL general_log_file =“/ path / to / your / logfile.log”
    3. SET GLOBAL general_log ='ON';
    4. 如果您编辑配置,请重新启动MySQL以应用更改,例如/etc/mysql/my.cnf

      现在,如果您愿意,可以tail -f /var/log/mysql/mysql.log

      More info here: Server System Variables

答案 2 :(得分:20)

(Linux)的 打开终端ctrl+alt+t 运行命令

 cat ~/.mysql_history

你将获得所有以前的mysql查询历史记录享受:)

答案 3 :(得分:2)

看看~/.myslgui/query-browser/history.xml 在这里,您可以找到使用mysql_query_browser进行的最后查询 (几天前)

答案 4 :(得分:2)

您会在那找到它

~/.mysql_history

您将使代码可读(无转义),如下所示:

sed "s/\\\040/ /g" < .mysql_history

答案 5 :(得分:0)

您可以从〜/ .mysql_history中查看历史记录。但是,文件的内容由wctomb编码。要查看内容:

shell>猫〜/ .mysql_history | python2.7 -c“ import sys; print(”。join([sys.stdin中l的l.decode('unicode-escape')for l)))“

来源:Check MySQL query history from command line

答案 6 :(得分:0)

@GoYun.Info 回答但使用 python 3

cat ~/.mysql_history | python3 -c "import sys; print(''.join([l.encode('utf-8').decode('unicode-escape') for l in sys.stdin]))" 

答案 7 :(得分:-1)

您可以查看查询缓存:http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm,但它可能无法让您访问实际查询,如果它确实有效(非常精细的双关语),它将非常突然出现。

但MySQL查询浏览器很可能在MySQL引擎之外维护自己运行的查询列表。你必须在你的应用程序中做同样的事情。

编辑:请参阅dan m的评论导致此问题:How to show the last queries executed on MySQL?看起来很健全。