你如何改变MySQL中日志文件的位置?

我希望能够从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日志文件夹权限:0760日志文件权限:0660

但没有运气,MySQL不会更新新的文件。

我究竟做错了什么?

CENTOS 6.9 MYSQL 5.1

哪个用户正在运行mysqld?

运行mysqld(通常是mysql)的用户很可能没有对/ home / site / public_html / mysql-logs /

因此,它不能写入日志文件。

尝试为/ home / site / public_html所有者和mysql创build一个组,然后chmod 0775目录和chown目录

我首先想到的是,mysql用户不能访问“网站”的主目录。 如果无法访问,则无法写入文件。 即使它有权写入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 

这可能与SELINUX在/home/site/public_html/mysql-logs/path中阻塞mysql有关。

尝试发出以下命令: setenforce 0并重新启动mysql。 如果现在可以写日志,你已经find了罪魁祸首。 但是,您不应该将SELINUX禁用,因为它是非常有价值的安全资产。

相反,使用semanage fcontext标签/home/site/public_html/mysql-logs/以正确的types,通过运行setenforce 1重新启用SELINUX并重新启动mysql。