我想启用慢查询日志。 当我执行以下查询时
set global slow_query_log = 'ON';
我明白了:
#29 - File '/var/log/mysqld_slow.log' not found (Errcode: 13 - Permission denied)
我在这里尝试了解决方案: https://bugs.mysql.com/bug.php?id=98340但我在最后一个命令上遇到问题:
touch /var/log/mysqld_slow.log
chown mysql:mysql /var/log/mysqld_slow.log (also tried mysql:adm)
chmod 640 /var/log/mysqld_slow.log (also tried 666)
chcon -t mysqld_log_t /var/log/mysqld_slow.log
chcon: can't apply partial context to unlabeled file '/var/log/mysqld_slow.log'
我不确定为什么,但是将路径更改为 /var/log/mysql/mysqld_slow.log 是有效的。
肯定是由于父文件夹权限?
无法找到将文件放入 /var/log/mysqld_slow.log 的解决方案吗? 我用的是ubuntu
只需将 MySQL 变量中的文件重命名为一些新名称,我刚刚从变量重命名了该文件,并且它可以正常工作。 MySQL 自动在路径中为我创建了该文件。 默认路径是:/var/log/mysql/slow_query.log - 将文件重命名为slow_query_log或其他名称
希望它对你有用。
就我而言,我只是删除文件
rm -rf mysqld_slow.log
然后重启mysql
systemctl restart mysql
它重新生成文件,它可以工作
如果 chown 和 chmod 没有帮助。某些安全应用程序可能会阻止对您的文件的访问。
如果是apparmor,您可以按照这个答案https://stackoverflow.com/a/56850952/27734465
如果是 SElinux,请尝试
semanage permissive -a mysqld_t