一 修改数据库配置文件
方式一:
在etc下修改my.cnf 数据库配置文件 ,在[mysqld] 节点下面加入如下配置
log_slow_queries = NO |
二 重启MySql服务
方式二: (先链接 mysql -u admin-p password)
方法二:通过修改myssql的全局变量来处理,这样做的好处是,不用重启mysql服务器,登陆到mysql上执行一下sql脚本即可 set global slow_query_log=ON; set global long_query_time=3; 然后通过一下命令查看是否成功
|
通过如下命令查看配置是否修改成功
show variables like '%slow%';
执行select sleep(3);
打开改文件查看是否记录select sleep(3); 的日志
语法:
show variables like 'xxxx'; 固定写法
Like 后面加上想查询的字段
查看日志是否开启
show variables like 'log_slow_queries';
show variables like ‘slow_query_log_file’;
set @@global.slow_query_log = ON;
结果:
参考链接 http://www.linuxidc.com/Linux/2013-07/87457.htm
日志分析工具
mysql自带了一个查看慢日志的工具mysqldumpslow。 执行mysqldumpslow --h可以查看帮助信息。 主要介绍两个参数-s和-t -s 这个是排序参数,可选的有: al: 平均锁定时间 ar: 平均返回记录数 at: 平均查询时间 c: 计数 l: 锁定时间 r: 返回记录 t: 查询时间
-t n 显示头n条记录。 实例: mysqldumpslow -s c -t 20 host-slow.log mysqldumpslow -s r -t 20 host-slow.log 上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。 mysqldumpslow -t 10 -s t -g “left join” host-slow.log 这个是按照时间返回前10条里面含有左连接的sql语句。
|
参考链接 http://www.2cto.com/database/201306/222769.html