一、Mysql常用监控指标
慢查询SQL 慢查询:指执行速度低于设置的阀值的SQL语句 作用:帮助定位查询速度较慢的SQL语句,方便更好的优化数据库系统的性能1、开启MySQL慢查询日志
参数说明: slow_query_log: 慢查询日志开启状态[ON:开启,OFF:关闭] slow_query_log_file: 慢查询日志存放位置 long_query_time: 慢查询时长设置(超过该时长才会被记录,单位:秒) 设置步骤: 1). 查询相关参数配置mysql> show variables like 'slow_query%'; +---------------------+---------------------------------------------------+ | Variable_name | Value | +---------------------+---------------------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /usr/local/mysql_data/mysql_slow.log | +---------------------+---------------------------------------------------+ 2 rows in set mysql> show variables like 'long_query_time'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set1 row in set
2)修改配置
-- 开启慢查询 set global slow_query_log = 'on'; -- 设置日志存放的路径 set global slow_query_log_file = '日志存放的路径'; -- 超过0.5s set @@long_query_time = 0.5;
这个long_query_time就是sql执行时间超过它,算是慢查询。
上面的修改方式,mysql重启后会失效;要永久生效,在mysql安装目录下的my.cnf(windows中是my.ini)中添加:
slow_query_log = on slow_query_log_file = /路径 long_query_time = 0.5
2、测试
select sleep(4);执行后,查看慢查询日志 /usr/local/mysql_data/mysql_slow.log linux下命令:
tail -20f /usr/local/mysql_data/mysql_slow.log
select sleep(4); 语句就是存在慢查询的语句
3、备注
慢查询sql排查思路:
1.是否表数据量太大(考虑分库分表) 2.是否并发量过高 3.是否锁表 4.是否使用索引或索引没有生效 5.sql是否高效
标签:之慢,01,log,mysql,long,查询,slow,Mysql,query From: https://www.cnblogs.com/xfbk/p/18014114