我卡住了,从root mysql我可以使用这个命令改变我的慢查询日志:
的MySQL> set global slow_query_log_file ='/ var / lib / mysql / logs-slow-query.log'; 查询正常,0行受影响(0.02秒)
但是,如果我尝试将其更改为任何主目录,我会得到:
的MySQL> set global slow_query_log_file ='/ home /mydomain / public_html / log-heat-query.log'; ERROR 1231(42000):变量'slow_query_log_file'不能设置为'/home/mydomain/public_html/log-slow-queries.log'的值
这必须是权限问题吗?我正在尝试创建一个PHP脚本,我可以从Web访问以查看慢查询数据。如果我尝试从PHP打开文件,我收到此错误: file_get_contents(/var/lib/mysql/log-slow-queries.log):无法打开流:权限被拒绝
请寻求帮助。
答案 0 :(得分:0)
MySQL无法在其所有者 Apache-user 的public_html上写入,因此它不允许您将其设置为记录慢查询的目的地。
此外,当您在/var/lib/mysql/log-slow-queries.log 中写入结果时,Apache-user 无法访问该文件的内容,因为所有者是< EM> MySQL的用户
所以我最好的建议是将 Apache-user 添加到 MySQL-group ,然后你可以访问它的日志文件进行阅读和分析。
祝你好运