【问题标题】:mysql log files are empty although it seems that I have set eveythingmysql 日志文件是空的,虽然似乎我已经设置了所有内容
【发布时间】:2012-07-22 08:12:34
【问题描述】:

我正在尝试使用 readline 6.2 获取在 debian-linux-gnu (x86_64) 上运行的 mysql 服务器 Ver 14.14 Distrib 5.5.22 的日志文件

根据几个网站,我在/etc/mysql/my.cnf 中取消了对这些行的注释:

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

运行 mysql 后,我检查了 /var/log/mysql/mysql.log 没有创建。 一个网站建议运行两个命令:

touch /var/log/mysql/mysql.log
chown mysql:mysql /var/log/mysql/mysql.log

这没有帮助:仍然没有日志!该文件为空。

【问题讨论】:

    标签: mysql logging


    【解决方案1】:

    更新my.cnf文件后是否重启了服务器?

    请发出:

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

    这些是服务器看到的事实上的变量。 您可以按如下方式动态更改 tgem:

    SET GLOBAL general_log:=1;
    SET GLOBAL log_output := 'FILE';
    

    另外,作为最后的手段,尝试:

    FLUSH LOGS;
    

    关闭+重新打开日志文件描述符。

    【讨论】:

      【解决方案2】:

      我在 Ubuntu 14.04 上使用 MySQL 5.5 时遇到了同样的问题。权限和配置没问题,但是 FLUSH LOGS 返回了

      ERROR 1105 (HY000): Unknown error
      

      原来,问题是由不正确的 AppArmor 设置引起的。

      如果是这种情况,/var/log/syslog 文件包含类似

      的行
      <from kernel>: apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/log/mysql/mysql.log" pid=16798 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=115 ouid=115
      

      修复 /etc/apparmor.d/usr.sbin.mysqld 文件中的 AppArmor 配置,然后重新启动 AppArmor 和 MySQL。

      【讨论】:

        猜你喜欢
        • 2014-04-19
        • 2014-08-05
        • 2021-12-06
        • 2021-05-12
        • 1970-01-01
        • 2021-04-20
        • 2022-11-12
        • 2020-08-05
        • 1970-01-01
        相关资源
        最近更新 更多