我想在我的MYSQL查询浏览器中显示我执行的sql命令历史记录。显示历史记录的sql语句是什么?
我想在我的MYSQL查询浏览器中显示我执行的sql命令历史记录。显示历史记录的sql语句是什么?
Answers:
尝试
cat ~/.mysql_history
这将显示所有在系统上运行的mysql命令
exit
MySQL 才能读取文件。
对于MySQL> 5.1.11或MariaDB
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';
正如jeffmjack在评论中提到的那样,除非您编辑配置文件(例如edit /etc/mysql/my.cnf
,然后重新启动以应用更改),否则这些设置将在下一个会话之前被忘记。
现在,如果您愿意的话 tail -f /var/log/mysql/mysql.log
/path/to/your/logfile.log
删除日志记录,日志记录将停止,直到您SET GLOBAL general_log_file = "/path/to/your/logfile.log";
再次执行(或者如果您编辑了配置?可能重新启动会话)。
(Linux)打开终端ctrl+alt+t
运行命令
cat ~/.mysql_history
您将获得以前所有的mysql查询历史记录:)
你会在那找到它
~/.mysql_history
您将使其可读(无需转义),如下所示:
sed "s/\\\040/ /g" < .mysql_history
您可以从〜/ .mysql_history查看历史记录。但是,文件的内容由wctomb编码。要查看内容:
shell>猫〜/ .mysql_history | python2.7 -c“导入sys; print(”。join([sys.stdin中l的l.decode('unicode-escape')]))“
您可以查看查询缓存:http : //www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm,但它可能无法使您访问实际查询,并且非常有用如果成功的话,会碰碰运气(意想不到的双关语)
但是MySQL Query Browser很可能会在MySQL引擎之外维护自己运行的查询列表。您将必须在您的应用程序中执行相同的操作。
编辑:参见dan m的评论导致的结果:如何显示在MySQL上执行的最后一个查询?看起来不错。