识别崩溃MySQL服务的查询

在定期崩溃MySQL服务的服务器上有一些查询。

我已经尝试通过缓慢的查询日志进行sorting,但是100多个查询堆积在任何崩溃的服务之后,所以试图弄清楚什么是整个混乱的祖先已经certificate太困难了。

是否有一个日志,专门显示在mysql服务失败之前执行的最后一个查询?

我有一个通用日志文件logging/var/run/mysqld/mysqld.log中的每个查询,如果启用该级别的日志logging,则可以查看logging崩溃时间的时间戳,然后查找关联的查询。

如何启用通用日志logging: mysql> SET GLOBAL general_log_file ='/ var / log / mysql.log'; 查询OK,0行受影响(0.00秒)

mysql> SET GLOBAL general_log = 1; 查询OK,0行受影响(0.00秒)

然后文件/var/log/mysql.log应该开始填充语句。 一旦你完成禁用通用日志:

mysql> SET GLOBAL general_log = 0; 查询OK,0行受影响(0.01秒)

除了日志之外,您还可以使用查询SHOW FULL PROCESSLIST来查看当前正在运行的MySQL,以确定是什么阻止了它。 使用“时间”列查看连接已打开的时间(通常对应于查询运行的时间)。