我希望能够从 FTP 访问日志文件。
FTP 主目录:/home/site/
我在 /etc/my.cnf 中执行了此操作:
long_query_time=2
log-slow-queries=/home/site/public_html/mysql-logs/mysql-log-slow-queries.log
log-queries-not-using-indexes
log_error=/home/site/public_html/mysql-logs/mysql-error.log
MySQL-logs文件夹权限:0760 日志文件权限:0660
但如果运气不好,MySQL 就不会更新新文件。
我究竟做错了什么?
CENTOS 6.9 MYSQL 5.1
答案1
哪个用户正在运行 mysqld?
运行 mysqld 的用户(通常是 mysql)可能没有 /home/site/public_html/mysql-logs/ 的写权限
因此,它无法写入日志文件。
尝试为 /home/site/public_html 所有者和 mysql 创建一个组,然后 chmod 0775 目录和 chown 目录
答案2
我首先想到的是,mysql 用户无权访问“site”的主目录。如果它无法访问,它也无法写入该文件。即使它有权写入 mysql-logs 目录。
为什么不直接将日志写入 /var/log/mysql/ 并对其进行符号链接呢?
cd /home/site/public_html/mysql-logs/
ln -s /var/log/mysql/mysql-log-slow-queries.log
ln -s /var/log/mysql/mysql-error.log
答案3
这可能与 SELINUX 阻止 mysql 写入/home/site/public_html/mysql-logs/
路径有关。
尝试发出以下命令:setenforce 0
并重新启动 mysql。如果现在可以写入日志,则您已找到罪魁祸首。但是,您应该不是保持 SELINUX 处于禁用状态,因为它是一项非常宝贵的安全资产。
相反,使用正确类型的semanage fcontext
标签,通过运行重新启用 SELINUX ,然后重新启动 mysql。/home/site/public_html/mysql-logs/
setenforce 1