我用的环境是虚拟机,centos7 ,mysql8.0.20
当我们使用mysql操作数据的时候,有的时候运行速度会很慢,这个时候我们就可以借助慢日志的这个功能,看一下是哪些SQL运行的慢,然后对SQL进行相应的优化
1.查看慢日志配置:
show variables like '%query%';
配置截图
(我这里已经开启,所以为ON)
2.设置慢日志临时生效(2或3二选一):
set global slow_query_log = 1 #设置开启慢日志
set global long_query_time = 1 #设置慢日志时间阙值
(只对当前数据库生效,如果MySQL重启后则会失效)
3.设置慢日志永久生效(2或3二选一):
如果想要慢日志永久生效,那么就需要修改配置文件
1.查看mysql配置文件位置:
mysql --help |grep 'my.cnf'
配置文件位置截图
2.编辑配置文件:
vi /etc/my.cnf
在[mysqld]下面添加如下配置:
slow-query-log=1 #开启慢日志
long_query_time=1 #慢日志时间阙值
slow_query_log_file="/var/lib/mysql/ju.log" #慢日志文件保存位置
3.重启mysql:
systemctl restart mysqld
4.模拟慢SQL:
select sleep(3);
sql运行截图
5.查看慢日志文件:
vi /var/lib/mysql/ju.log
日志截图
这时我们看到慢日志SQL已经写入,我们就可以对这些SQL进行优化分析
6.mysqldumpslow
如果我们每次都手动的查看日志文件会比较耗时费力,mysql提供了mysqldumpslow工具帮助我们查看我们想要的SQL语句。
用法:
mysqldumpslow [option] file_path
帮助方法截图
网友评论