前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统优化:MYSQL慢查询和日志

系统优化:MYSQL慢查询和日志

作者头像
三哥
发布2019-01-24 10:51:14
7160
发布2019-01-24 10:51:14
举报
文章被收录于专栏:java工会java工会

一、简介

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。

二、参数说明

slow_query_log 慢查询开启状态

slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录) long_query_time 查询超过多少秒才记录

三、设置步骤

1.查看慢查询相关参数

2.设置方法 方法一:全局变量设置 将 slow_query_log 全局变量设置为“ON”状态

代码语言:javascript
复制
mysql> set global slow_query_log='ON'; 

设置慢查询日志存放的位置

代码语言:javascript
复制
mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';

查询超过1秒就记录

代码语言:javascript
复制
mysql> set global long_query_time=1;

方法二:配置文件设置 修改配置文件my.cnf,在[mysqld]下的下方加入

代码语言:javascript
复制
[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1

3.重启MySQL服务

代码语言:javascript
复制
service mysqld restart

4.查看设置后的参数

四、测试

1.执行一条慢查询SQL语句

代码语言:javascript
复制
mysql> select sleep(2);

2.查看是否生成慢查询日志

代码语言:javascript
复制
ls /usr/local/mysql/data/slow.log

如果日志存在,MySQL开启慢查询设置成功!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java工会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、简介
  • 二、参数说明
  • 三、设置步骤
  • 四、测试
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档