5

我正在使用 ubuntu,我使用 mysql.log 为文件 im 提供了 777 的 chmod。我还尝试使用 chown mysql:mysql ,这是我的 my.cnf 文件中的段。

general_log_file        = /var/www/logs/mysql.log
general_log             = 1

我运行了一个简单的查询,文件中没有任何反应。所以我通过终端进入mysql并输入

SET GLOBAL general_log:=1;

我得到

ERROR 29 (HY000): File '/var/www/logs/mysql.log' not found (Errcode: 13)

该文件确实存在,我不明白为什么mysql看不到它。我尝试了这些命令以查看数据是否保存到mysql中并且信息看起来正确

SELECT @@global.general_log;
SELECT @@global.general_log_file;
SELECT @@global.log_output;

我需要使用什么 chown 用户?我已经尝试了一切,mysql只是不想记录查询。我想记录所有查询。这是一个开发服务器,所以它不是实时的。

4

2 回答 2

1

我的设置在具有权限的自定义位置,-rw-rw-rw-所有者和组设置为root. 您还应该确保您授予权限的任何用户都可以访问您尝试授予其访问权限的目录之上的每个目录。

另外,我建议您不要将日志放在public_html. 这将允许恶意人员获得有关您的 SQL 版本等的信息,甚至更糟的是,给他们一个地方来查看他们正在尝试的内容是否有效。

于 2013-08-29T02:55:43.830 回答
1

如果您未指定通用查询日志文件的名称,则默认名称为 host_name.log。服务器在数据目录中创建文件,除非给出绝对路径名来指定不同的目录。

例如在 mysq 服务器中,文件为: /var/lib/mysql/myServer.log

http://dev.mysql.com/doc/refman/5.7/en/query-log.html

于 2016-05-28T00:27:08.923 回答