由于要优化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的方式。因为这样会造成系统安全风险。

重启数据库后,此时慢查询日志生效了

Logo

更多推荐