【问题标题】:cannot touch `/var/log/mysqld.log': Permission denied无法触摸`/var/log/mysqld.log':权限被拒绝
【发布时间】:2015-03-12 07:43:31
【问题描述】:

我已经在cent OS RHEL5.5中重新安装了mysql服务器,我收到以下错误

touch: cannot touch `/var/log/mysqld.log': Permission denied

chown: changing ownership of `/var/log/mysqld.log': Operation not permitted

chmod: changing permissions of `/var/log/mysqld.log': Operation not permitted

MySQL Daemon failed to start.

Starting mysqld:                                           [FAILED]

我已经检查了日志文件的权限,它作为 mysql 用户具有正确的权限

-rw-r----- 1 mysql mysql   5931 Mar  9 04:36 mysqld.log

请告诉我这个问题以及如何解决它。

谢谢

【问题讨论】:

  • 您正在使用用户mysql 运行mysql?目录/var/log有哪些权限?
  • 尝试使用 chmod 660 mysqld.log 一次,使用 root 权限
  • chmod:更改 `/var/log/mysqld.log' 的权限:不允许操作
  • 不作为root用户@Jens
  • whoami 的输出是什么?

标签: mysql logging centos permission-denied


【解决方案1】:

好的。我已经解决了这个问题,

$ /usr/libexec/mysqld --skip-grant &

[1] 5388

InnoDB:错误:日志文件 ./ib_logfile0 大小不同 0 50331648 字节

InnoDB:比 .cnf 文件中指定的 0 5242880 字节! 150312 10:03:28 [注意] /usr/libexec/mysqld:准备连接。 版本:'5.0.95' 套接字:'/var/lib/mysql/mysql.sock' 端口:3306 源码分布

$ rm -rf /var/lib/mysql/ib_logfile0

$ rm -rf /var/lib/mysql/ib_logfile1

$ ls -l /var/lib/mysql

我已删除日志文件并重新启动 mysql 服务器。

谢谢

【讨论】:

    【解决方案2】:

    解决方法是:

    $ sudo touch /var/log/mysqld.log
    $ sudo chown mysql:mysql /var/log/mysqld.log
    $ sudo chcon system_u:object_r:mysqld_log_t:s0 /var/log/mysqld.log
    

    【讨论】:

      【解决方案3】:

      就我而言,这发生在我降级 AWS EC2 实例之后。错误如下:

      $ service mysqld start
      touch: cannot touch ‘/var/log/mysqld.log’: Permission denied
      chown: changing ownership of ‘/var/log/mysqld.log’: Operation not permitted
      chmod: changing permissions of ‘/var/log/mysqld.log’: Operation not permitted
      chown: changing ownership of ‘/var/lib/mysql’: Operation not permitted
      chmod: changing permissions of ‘/var/lib/mysql’: Operation not permitted
      MySQL Daemon failed to start.
      Starting mysqld:                                           [FAILED]
      

      原来问题是新降级的虚拟机没有足够的内存,因为 MySQL 试图保留。

      etc/my.cnf 上更新为 InnoDB 保留的值解决了这个问题:

      innodb_buffer_pool_size=4G
      

      不需要对文件系统权限进行其他更改。

      【讨论】:

        【解决方案4】:

        就我而言,ubuntu apparmor 有问题。

        解决方案:

        编辑 mysqld 配置文件(通常在 /etc/apparmor.d/usr.sbin.mysqld 中)并确保您拥有:

        /var/log/mysqld.log rw,
        
        systemctl reload apparmor
        
        touch /var/log/mysqld.log
        
        chown mysql:mysql /var/log/mysqld.log
        
        chmod 0644 /var/log/mysqld.log
        
        systemctl restart mysql
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-06-16
          • 1970-01-01
          • 2018-10-14
          • 1970-01-01
          • 2021-11-01
          • 2018-01-23
          • 2017-10-26
          • 2011-10-28
          相关资源
          最近更新 更多