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


当前回答

如果开启了mysql binlog,可以通过执行命令查看用户执行的命令 以下命令在Linux控制台通过浏览到mysql binlog目录

mysqlbinlog binlog.000001 >  /tmp/statements.sql

启用

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

或者一般的日志会对mysql的性能有影响

其他回答

你可以做流动的事情来监视mysql查询日志。

打开mysql配置文件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

如果开启了mysql binlog,可以通过执行命令查看用户执行的命令 以下命令在Linux控制台通过浏览到mysql binlog目录

mysqlbinlog binlog.000001 >  /tmp/statements.sql

启用

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

或者一般的日志会对mysql的性能有影响

也许您可以通过查看查询日志来找到这一点。

SELECT * FROM  mysql.general_log  WHERE command_type ='Query' LIMIT total;

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

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

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

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

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

嘿,马上,你就可以看到输入的查询了。