Navicat使用教程(三):使用MySQL日志(第3部分)——慢速日志
Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。使用Navicat for MySQL可以同时连接到 MySQL 和 MariaDB。Navicat for MySQL提供了强大的前端功能,为数据库管理、开发和维护提供了直观的图形界面。对新手和专业人士来说,Navicat for MySQL都是管理和开发 MySQL 或 MariaDB的强大工具。
这篇文章将讨论Navicat Monitor for MySQL / MariaDB中的监控,将参考前两篇。第一篇概述了MySQL上的不同日志类型,突出了其中最重要的一些,并涵盖了列表中的前两个。第二篇更详细地介绍了二进制日志。慢速日志将成为这篇文章的主题。
慢查询日志包含执行时间超过一定时间的SQL语句,并且需要查询检查给定数量的行。这是一个重要的问题,因为它极大地简化了查找低效或耗时查询的任务,这些查询会对数据库和整体服务器性能产生负面影响。
慢查询日志参数
您可能想知道究竟是什么构成了“slow”和/或“inefficient”的查询。显然,没有通用的一刀切的答案,但是MySQL的制造商—Oracle—将其置于10秒,这恰好是long_query_time阈值变量的最大值。最小值为0会导致记录所有查询。如果需要非常具体,也可以将该值指定为微秒的分辨率。
默认情况下,不会记录管理语句以及不使用索引进行查找的查询。话虽如此,可以使用log_slow_admin_statements和log_queries_not_using_indexes变量更改此行为。
如果没有为慢查询日志文件指定名称,则将其命名为host_name-slow.log。服务器在数据目录中创建文件,除非给出绝对路径名来指定不同的目录。您可以使用slow_query_log_file指定日志文件的名称。
慢查询日志格式
以下是典型的慢查询条目:
root@server# tail /var/log/slowqueries # Time: 130320 7:30:26 # User@Host: db_user[db_database] @ localhost [] # Query_time: 4.545309 Lock_time: 0.000069 Rows_sent: 219 Rows_examined: 254 SET timestamp=1363779026; SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
如果使用--log-short-format选项,服务器将向慢查询日志写入较少的信息。相反,启用log_slow_extra系统变量(从MySQL 8.0.14开始提供)将导致服务器将几个额外字段写入日志。
启用慢速查询记录
慢查询日志已禁用,因此您必须通过将--slow_query_log变量设置为1(在Navicat中为ON)将其打开。同样,不提供参数也会打开慢速查询日志。参数0(Navicat中为OFF)禁用日志。
在Navicat中,您可以使用Server Monitor工具查找系统变量。可以通过Tools主菜单命令访问它。
在Server Monitor中,单击中间的“Variables”选项卡并向下滚动以查看列表中的slow_query_log和slow_query_log_file服务器变量:
Navicat Server Monitor工具中的slow_query_log服务器变量
购买Navicat for MySQL正版授权,请点击“”哟!