将 mysql 慢查询日志更改为 public_html 路径

Changing mysql slow query log to public_html path

我卡住了,从 root mysql 我可以使用这个命令更改我的慢查询日志:

mysql> 设置全局 slow_query_log_file = '/var/lib/mysql/log-slow-queries.log'; 查询正常,0 行受影响(0.02 秒)

但是,如果我尝试将其更改为任何主目录,我会得到:

mysql> 设置全局 slow_query_log_file = '/home/mydomain/public_html/log-slow-queries.log';错误 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):无法打开流:权限被拒绝

请寻求帮助。

MySQL 无法在其所有者为 Apache-user 的 public_html 上写入,因此它不允许您将其设置为记录慢速查询的目的地。

此外,当您将结果写入 /var/lib/mysql/log-slow-queries.log 时 Apache-user 无法访问该文件的内容,因为所有者是 MySQL-用户.

所以我最好的建议是将 Apache-user 添加到 MySQL-group 然后你就可以访问它的日志要读取和分析的文件。

祝你好运