Mysql慢查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql慢查询相关的知识,希望对你有一定的参考价值。
mysql默认情况下慢查询是未开启的。开启MySQL慢查询日志,让MySQL记录查询超过指定时间的SQL语句,定位分析性能瓶颈,可优化数据库系统性能或优化SQL语句。
- 慢查询参数查询
mysql> show variables like ‘slow_query%‘; +---------------------+----------------------------------------+ | Variable_name | Value | +---------------------+----------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /var/lib/mysql/test-mysql-slow.log | +---------------------+----------------------------------------+ mysql> show variables like ‘long_query_time‘; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+
参数:
slow_query_log #慢查询开启状态
slow_query_log_file #慢查询日志文件存储路径,需要MySQL的运行帐号的可写权限
long_query_time #慢查询时长,超过设定的sql语句时长写入到慢查询文件中 - 开启设置
方法一、全局变量设置mysql> set global slow_query_log=‘ON‘; #全局变量 slow_query_log 设置为 ON 开启 mysql> set global slow_query_log_file=‘/var/lib/mysql/test-mysql-srv-slow.log‘; #慢日志查询存储路径 mysql> set global long_query_time = 30; #设置超过的时长为慢查询SQL
方法二、MySQL配置文件设置
修改MySQL配置文件my.cnf,在[mysqld]下的下方加入slow_query_log = ON slow_query_log_file = /var/lib/mysql/test-mysql-srv-slow.log long_query_time = 30
重启MySQL服务
systemctl restart mysqld.service
以上是关于Mysql慢查询的主要内容,如果未能解决你的问题,请参考以下文章