我正在使用 ubuntu,并且我使用 mysql.log 给文件 im 提供了 777 的 chmod。我还尝试使用 chown mysql:mysql ,这是我的 my.cnf 文件中的段。
general_log_file = /var/www/logs/mysql.log
general_log = 1
Run Code Online (Sandbox Code Playgroud)
我运行了一个简单的查询,但文件中没有任何反应。所以我通过终端进入mysql并输入
SET GLOBAL general_log:=1;
Run Code Online (Sandbox Code Playgroud)
我得到
ERROR 29 (HY000): File '/var/www/logs/mysql.log' not found (Errcode: 13)
Run Code Online (Sandbox Code Playgroud)
该文件确实存在,我不明白为什么mysql看不到它。我尝试了这些命令来查看数据是否保存到mysql中并且信息看起来正确
SELECT @@global.general_log;
SELECT @@global.general_log_file;
SELECT @@global.log_output;
Run Code Online (Sandbox Code Playgroud)
我需要使用什么 chown 用户?我已经尝试了所有方法,但 mysql 只是不想记录查询。我想记录所有查询。这是一个开发服务器,所以它还没有上线。
小智 1
我的设置在自定义位置,权限-rw-rw-rw-、所有者和组设置为root。您还应该确保您授予权限的任何用户都可以访问您尝试授予其访问权限的目录之上的每个目录。
另外,我建议您不要将日志放入public_html. 这将允许恶意人员获取有关您的 SQL 版本等信息,更糟糕的是,让他们有机会查看他们正在尝试的操作是否有效。