mysql慢查询日志开启失败及其原因分析
由于要优化wordpress,做了整体的评估之后,就开始了优化工作。优化mysql的时候,首先想到的是要开启慢查询日志。分析每一条语句的执行事件。我用的系统是Linux系统,安装的mysql是5.7版本。优化的时候首先是修改了mysql的配置general_log = 1slow_query_log =1slow_query_log_file = /slow_query.log 此处路径做...
由于要优化wordpress,做了整体的评估之后,就开始了优化工作。优化mysql的时候,首先想到的是要开启慢查询日志。分析每一条语句的执行事件。我用的系统是Linux系统,安装的mysql是5.7版本。优化的时候首先是修改了mysql的配置
general_log = 1
slow_query_log =1
slow_query_log_file = /slow_query.log 此处路径做了修改,主要是为了防止系统日志文件的路径泄露。实际路径用户可以自己设置
修改了配置之后,随后重启mysql数据库,使用mysql语句 show variables like 'slow_query%';,
得到如下结果
+---------------------+-------------------------------+
| Variable_name | Value |
+---------------------+-------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /slow_query.log |
+---------------------+-------------------------------+
显然,mysql并没有开启成功。我仔细检查了mysql的配置文件,发现slow_query_log_filed的配置生效了。但是slow_query_log的配置没有生效。
碰到问题,首先想到的是google和百度。但是这次并没有搜索到解决问题的答案。
既然配置文件修改不能成功,那就不通过配置文件修改了。执行以下语句set global slow_query_log=1;
ERROR 29 (HY000): File '/slow_query.log' not found (Errcode: 13 - Permission denied)
提示文件不存在,权限不够。
这时我又检查了一下文件,发现文件是存在的。
随后发现是文件的权限问题。
修改方式chown -R mysql:mysql slow_query.log
修改文件的所属权限。
在这里不建议采用chmod 777的方式。因为这样会造成系统安全风险。
重启数据库后,此时慢查询日志生效了
更多推荐
所有评论(0)