- 操作步骤
- 首先使用用户登录linux客户端,执行命令 MySQL -u mjb -p, mjb是数据库用户名,系统会提示输入密码,输入密码回车,登录成功
- 输入命令show variables like 'slow_query_log',
- 页面会显示是否开启了慢查询日志,slow_query_log =ON,代表已经开启
- 如果未开启,则需要执行该命令set global slow_query_log=on;
- 通过设置log_queries_not_using_indexes开启为使用索引的监控
- 输入命令show variables like 'log_queries_not_using_indexes';
- log_queries_not_using_indexes=OFF,代表未开启,需要执行该命令
- set global log_queries_not_using_indexes=on;
-
- 通过long_query_time设置监控阀值,也就是超过多少秒就记录,单位是秒,此处设置为0.1也就是100毫秒
- 输入命令show variables like 'long_query_time';
- 系统设置的为1秒,如果需要修改为0.1秒,则需要执行如下命令
- set global long_query_time=0.1;
- 通过以上设计,基本上可以开始优化工作了,set global 只是全局session生效,重启后失效,如果需要以上配置永久生效,需要在mysql.cnf中配置
- [mysqld]
slow_query_log = 1
log_queries_not_using_indexes =1
long_query_time = 0.1
slow_query_log_file = /apps/logs/mysql/slow3306.log
如果是linux,就通过以下命令或service等其他方式重启
启动:/etc/init.d/mysqld(mysql) start
停止:/etc/init.d/mysqld(mysql) stop
重启:/etc/init.d/mysqld(mysql) restart
最后查看慢查询日志所在的位置,通过查看slow_query_log_file - 执行命令show variables like 'slow_query_log_file' \G
- 显示的日志记录在/apps/logs/mysql/slow3306.log目录
- 测试
- 记录成功-
字段名 | 含义 | 值 |
Time |
int类型时间戳 加 时间 |
180913 10:39:57 |
User@Host |
执行SQL的主机信息 |
mjb[mjb] @ localhost [] |
Thread_id |
线程id |
5271182 |
Query_time |
执行时间 |
2.000219 |
Lock_time |
锁定时间 |
0.000000 |
Rows_sent |
返回记录数 |
1 |
Rows_examined |
扫描行数 |
0 |
SET timestamp |
SQL执行用时 |
1536806397 |
select sleep(2) |
SQL语句 |
select sleep(2); |
- 设置成功,性能测试完成,可以把监控到的慢SQL日志文件进行查看,看是哪些SQL语句需要进行优化
如果文章对你有帮助,可以在右下角点击关注功能,欢迎转发、拍砖,本人会持续推出与测试有关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制,微信公众号与本平台文章同步,方便大家查阅
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站制作、网站设计、阿拉善盟网络推广、成都小程序开发、阿拉善盟网络营销、阿拉善盟企业策划、阿拉善盟品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供阿拉善盟建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
QQ技术交流群:加群请输入验证信息51CTO
微信二维码关注公众号:
关注之后,回复资源下载,即可获取本人共享的各种资源下载地址
分享名称:开启MYSQL慢查询日志,监控有效率问题的SQL
转载源于:
http://cdxtjz.cn/article/pjjpgj.html