无法触摸“/var/log/mysqld.log”:权限被拒绝
cannot touch `/var/log/mysqld.log': Permission denied
我已经在 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
请让我知道这方面的问题以及解决方法。
谢谢
好的。我已经解决了这个问题,
$ /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 服务器。
谢谢
解决方法是:
$ 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
就我而言,这是在降级 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
不需要对文件系统权限进行其他更改。
就我而言,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
我已经在 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
请让我知道这方面的问题以及解决方法。
谢谢
好的。我已经解决了这个问题,
$ /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 服务器。
谢谢
解决方法是:
$ 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
就我而言,这是在降级 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
不需要对文件系统权限进行其他更改。
就我而言,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