无法触及`/var/log/mysqld.log':权限被拒绝

时间:2015-03-12 07:43:32

标签: mysql logging centos permission-denied

我已经在操作系统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

请让我知道这方面的问题以及解决方法。

由于

4 个答案:

答案 0 :(得分:2)

确定。我已经解决了这个问题,

$ / 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服务器。

谢谢

答案 1 :(得分: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

答案 2 :(得分:0)

就我而言,这是在降级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]

原来的问题是,新降级的VM没有足够的内存,而MySQL正在尝试保留。

更新etc/my.cnf上为InnoDB保留的值可以解决此问题:

innodb_buffer_pool_size=4G

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

答案 3 :(得分:0)

就我而言,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