当前位置:  开发笔记 > 后端 > 正文

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

如何解决《如何显示在MySQL上执行的最后查询?》经验,为你挑选了5个好方法。

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



1> FlipMcF..:

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

    执行 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';

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

    您没有编辑该my.cnf文件,并可能永久打开日志记录

    你不是在寻找查询日志的文件系统周围钓鱼 - 或者更糟糕的是,由于需要完美的目的地而分散注意力. /var/log /var/data/log /opt /home/mysql_savior/var

    您不必重新启动服务器并中断与其的任何当前连接.

    重新启动服务器会使您离开您的位置(默认情况下,日志仍处于关闭状态)

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


记得在完成后清除你的常规日志表:"truncate table mysql.general_log"
很棒的UI设计.无论如何,MySQL的日志表实际使用CSV引擎,因此你可以做一切FlipMcF在有关启用登录到general_log表回答说,并有尾-f general_log这样的:尾-f在/ var/lib中/ MySQL的/ mysql的/ general_log.CSV
@Jeach:http://stackoverflow.com/questions/1493722/mysql-command-for-showing-current-configuration-variables

2> Paul Dixon..:

您可以为该类诊断启用常规查询日志.通常,您不会在生产服务器上记录所有SELECT查询,但这是性能杀手.

编辑你的MySQL配置,例如/etc/mysql/my.cnf - 查找或添加这样的行

[mysqld]
log = /var/log/mysql/mysql.log

现在就可以重新启动mysql以获取更改

tail -f /var/log/mysql/mysql.log

嘿presto,你可以看到他们进来的问题.


my.cnf中的general_log_file和general_log

3> Rokibul Hasa..:

您可以执行流动的操作来监视mysql查询日志.

打开mys.cn配置文件my.cnf

sudo nano /etc/mysql/my.cnf

[mysqld]标题下搜索以下行并取消注释这些行以启用日志

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

重新启动mysql服务器以反映更改

sudo service mysql start

使用终端中的以下命令监视mysql服务器日志

tail -f /var/log/mysql/mysql.log



4> zloctb..:
SELECT * FROM  mysql.general_log  WHERE command_type ='Query' LIMIT total;



5> minhas23..:

1)如果启用了一般的mysql日志记录,那么我们可以根据我们在配置中提到的内容检查日志文件或表中的查询.使用以下命令检查启用的内容

mysql> show variables like 'general_log%';
mysql> show variables like 'log_output%';

如果我们需要表中的查询历史记录

Execute SET GLOBAL log_output = 'TABLE';
Execute SET GLOBAL general_log = 'ON';

看一下mysql.general_log表

如果您希望输出到文件:

SET GLOBAL log_output = "FILE"; which is set by default.
SET GLOBAL general_log_file = "/path/to/your/logfile.log";
SET GLOBAL general_log = 'ON';

2)我们还可以检查.mysql_history文件cat~/.mysql_history中的查询

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有