-
MySQL慢查询日志分析
一:查询slow log的状态,如示例代码所示,则slow log已经开启。 mysql> show variables like '%slow%'; +---------------------+------------------------------------------+ | Variable_name | Value | +---------------------+------------------------------------------+ | log_slow_queries | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /mysqllog/slow_log/slow_queries_3306.log | +---------------------+------------------------------------------+ 4 rows in set (0.00 sec) 如果没有开启慢查询日志有以下两种方法: 在配置文件[mysqld]中添加slow_query_log = ON和long_query_time = 1,然后重启MySQL即可生效。 set global slow_query_log=1; 在线开启。如果MySQL发生重启,就会失效,如果要永久生效,就必选修改配置文件。 二:slow log的日志相关参数详解 slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。 log-slow-queries :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log long_query_time :慢查询阈值,当查询时间多于设定的阈值时,记录日志。 log_queries_not_using_indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。 log_output:日志存储方式。log_output='FILE'表示将日志存入文件,默认值……
SE_You 2024-04-0818 0 0 -
mysql优化——定位慢查询
1、show status 命令 命令使用方式:show [session|global] status like 'slow_queries' 如果你不写 [session|global] 默认是session 会话,指取出当前窗口的执行,如果你想看所有(从mysql 启动到现在,则应该 global) 执行show status 显示的数据库变量大概有291个。变量对应说明: http://www.ttlsa.com/mysql/mysql_show_status_descriptsions/ http://blog.chinaunix.net/uid-20204919-id-1972099.html http://lxneng.iteye.com/blog/451985 show status 常用的命令: show status like ‘uptime’ ; show stauts like ‘com_select’ show stauts like ‘com_insert’ ...类推 update delete show status like ‘connections’; //显示慢查询次数 show status like ‘slow_queries’; 2、mysql默认的慢查询 默认情况下,mysql认为10秒才是一个慢查询. show variables like ‘long_query_time’ ; //可以显示当前慢查询时间 set long_query_time=1 ;//可以修改慢查询时间 3、定位慢查询 show variables like '%slow%'; #查看MySQL慢查询是否开启 set global slow_query_log=ON; #开启MySQL慢查询功能 show variables like "long_query_time"; #查看MySQL慢查询时间设置,默认10秒 set global long_query_time=5; #修改为记录5秒内的查询 select sleep(6); #测试MySQL慢查询 show variables like "%slow%"; #查看MySQL慢查询日志路径 show global status like '%slow%'; #查看MySQL慢查询状态 或者 vi /etc/my.cnf #编辑,在[mysqld]段添加以下代码 slow-query-log = on #开启MySQL慢查询功能 slow_query_log_file = /var/run/mysqld/mysqld-slow.log #设置MySQL慢查询日志路径 long_query_time = 5 #修改为记录5秒内的查询,……
SE_You 2024-04-0710 0 0