我在MYSQL中每晚都有活动,而且我不确定发生了什么,因为它仍然在早上运行,即使我比其他事件更早地设置它。
问题是, 如何查看已运行事件的历史记录或日志, 哪一个在晚上被锁定,哪一个在没有跑?
谢谢
答案 0 :(得分:1)
此行将为您提供帮助:
SELECT * FROM INFORMATION_SCHEMA.events;
答案 1 :(得分:0)
您可以在MySQL服务器中启用慢查询日志,以便在文件或MySQL表中登录慢查询。遵循以下步骤:
检查是否为MySQL服务器启用了慢查询日志。在MySQL服务器上执行这些查询。
mysql> show global variables like "%slow_query_log%";
+---------------------+----------------------------------+
| Variable_name | Value |
+---------------------+----------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /var/lib/mysql/siddhant-slow.log |
+---------------------+----------------------------------+
2 rows in set (0.00 sec)
如果未启用慢查询日志,请按此启用它。(或者您可以在my.cnf或my.ini MySQL配置文件中启用它)
mysql> set global slow_query_log="ON";
Query OK, 0 rows affected (0.01 sec)
还要检查长查询运行时间,即查询被视为慢查询所花费的时间。查询花费的时间超过此值将记录在慢查询日志中。
mysql> show global variables like "%long_query%";
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)
将此值设置为您的要求,如下所示。(此处我将其设置为两秒钟)
mysql> set global long_query_time=2;
Query OK, 0 rows affected (0.00 sec)
现在慢速查询将记录在查询返回的慢查询日志文件路径中。我的要求是我需要实时监控MySQL,你可以看看这个商业GUI MySQL- Monitoring Tool。它实时分析慢查询日志。