mysql慢查询

来源:互联网 发布:网络人气奖颁奖词 编辑:程序博客网 时间:2024/06/16 20:02

我是在centos7下mysql5.6下学习的mysql慢查询

打开虚拟机后首先进入mysql的命令行

/usr/local/mysql/bin/mysql -uroot -p

然后在查看mysql是否开启了慢查询

show variables like ‘slow_query_log';

如果没有开启,则开启慢查询

set global slow_query_log=on;

查看慢查询的时间是多少

show variables like 'long_query_time';

把慢查询的时间设置为0,利于进行测试

set global long_query_time=0;

更改慢查询时间后需要重新启动mysql才能生效

随便测试一个语句

select sleep(11)
然后查询慢查询日志

首先查看慢查询日志的存储地方

show variables like ’slow%‘;

打开慢查询日志

<span style="font-size:14px;">Tcp port: 3306  Unix socket: /tmp/mysql.sock  Time                 Id Command    Argument# Time: 160318 11:50:42# User@Host: root[root] @ localhost []  Id:     2# Query_time: 11.000985  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0SET timestamp=1458273042;select sleep(11);</span>
我们可以了解到这次查询的使用人,查询用的时间,锁定时间,发送的行数,扫描的行数,执行一共用的时间,还有sql语句

有了慢查询日志后我们就可以分析慢查询了,比较常用的两种方法是mysqldumpslow 和pt-query-digest

mysqldumpslow 是mysql自带的分析慢查询的工具,使用mysqldumpslow  -h可以获取到帮助信息

pt-query-digest比mysqldumpslow的功能多一点,比较好用一些

首先在linux上安装pt-query-diges

wget percona.com/get/percona-toolkit.tar.gz

tar -zxvf percona-toolkit-2.2.5.tar.gzperl Makefile.PLmakemake testmake install
这时候运行pt-query-digest会报错

运行下面这行代码后就可以正常使用了

yum install perl-devel
然后就可以用pt-query-digest分析慢查询日志了





0 0
原创粉丝点击