我想在我的 MYSQL 查询浏览器中显示我执行的 sql 命令历史记录。用于显示历史的 sql 语句是什么?
您可以查看查询缓存: http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm,但是它可能不会提供对实际查询的访问权限,如果它确实有效,那么将是非常偶然的(含蓄的双关语)
但是 MySQL 查询浏览器很可能在 MySQL 引擎之外维护自己运行的查询列表。你必须在你的应用程序中做同样的事情。
编辑: 请看 Dan m 对此的评论: 如何显示在 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"
正如 jeffmjack 在注释中提到的,除非您编辑配置文件(例如编辑 /etc/mysql/my.cnf,然后重新启动以应用更改) ,否则在下一个会话之前将忘记这些设置。
/etc/mysql/my.cnf
现在,如果你愿意,你可以 tail -f /var/log/mysql/mysql.log
tail -f /var/log/mysql/mysql.log
更多信息: 服务器系统变量
试试看
cat ~/.mysql_history
这将显示系统上运行的所有 mysql 命令
看看 ~/.myslgui/query-browser/history.xml 在这里你可以找到最后的查询与 mysql_query_browser (几天前)
~/.myslgui/query-browser/history.xml
mysql_query_browser
(Linux) 打开 ctrl+alt+t航站楼 运行命令
ctrl+alt+t
您将获得所有以前的 mysql 查询历史享受:)
你会在那里找到的
~/.mysql_history
你可以像下面这样使它具有可读性(没有转义) :
sed "s/\\\040/ /g" < .mysql_history
你可以从 ~/看到历史。Mysql _ history.但是文件的内容是由 wcgrave 编码的。查看内容:
Shell > cat ~/. mysql _ history | python2.7-c“ import sys; print (”. join ([ l.decode (‘ unicode-escape’) for l in sys.stdin ])”
资料来源: 从命令行检查 MySQL 查询历史记录
@ GoYun. 回答信息,但是用 python 3
cat ~/.mysql_history | python3 -c "import sys; print(''.join([l.encode('utf-8').decode('unicode-escape') for l in sys.stdin]))"