🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 慢日志的使用流程: 首先需要明白的三个概念: long\_query\_time(多长时间视为慢查询) slow\_query\_log(是否开启了慢查询日志,off表示未开启) slow\_query\_log\_file(慢查询日志存放的位置) 1. 查看当前是否开启了慢日志 命令:``` show variables like '%slow_query%' ``` <span style='color:red'>**未开启慢日志【截图】** ![](https://img.kancloud.cn/d5/e8/d5e8ca3a915250bf71fb8d53b8c477a7_570x206.png) <span style='color:red'>**开启慢日志【截图】** ![](https://img.kancloud.cn/b2/38/b23895db0fe9fed1ca3a7e1f6e8e48b9_489x201.png) 2. 开启慢日志,开启慢日志有两种方式 方式1:临时开启【重启mysql服务后,会自动关闭调慢日志】 ``` SET GLOBAL slow_query_log = 'ON'; ``` -- 开启慢查询日志记录 ``` SET GLOBAL long_query_time = 5; ``` -- 设置超过多少秒为慢查询 ``` SET GLOBAL log_queries_not_using_indexes = 'ON'; ``` -- 将未使用索引的查询也记录到慢查询日志中 ``` SET GLOBAL log_output = 'FILE'; ``` -- 设置`log_output`参数为`FILE` 方式2:永久开启 找到mysql(my.cnf)配置文件,在里面添加代码【注释删除,不然会报错】 ``` slow_query_log = 1 long_query_time = 1 #设置慢查询的时间阈值,单位为秒,例如设置为1表示执行时间超过1秒的查询会被记录 log_output = FILE # 设置慢查询日志的输出方式为文件存储 slow_query_log_file = /path/to/your/slow_query.log # 设置慢查询日志文件的路径和名称 ``` 3. 使用慢日志 1.再次查看当前慢日志的开启状态,命令:```show variables like '%slow_query%'``` 2.执行查询时间大于设置的5s的sql语句 3.执行以下两个命令: ``` SHOW GLOBAL STATUS LIKE 'Slow_queries'; ``` # 显示慢查询的总次数 ``` SHOW GLOBAL STATUS LIKE 'Slow_queries_log';``` # 找到慢日志的存储位置【 json格式存储有利于扩展】 ``` tail -n 3 /path/to/your/slow_query.log(慢日志的存储路径) ``` # 查询最近3次的慢日志记录 4. 分析慢日志 5. 总结说明 <span style='color:red'>一:慢日志存储有三种方式:</span> 1:文件方式存储 2:表方式存储 3:Syslog 或其他日志守护进程