我有一个安装了CentOS 6.3和Mysql的服务器。我创建了两个分区,一个用于系统,另一个用于安装Mysql后立即挂载在/data中的数据。我创建了dir / data /mysql,然后作为根用户,我更改了输入chcon -R -t mysqld_db_t /data/mysql的文件夹的selinux上下文,并将Mysql配置文件(my.cnf)修改为:
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
user=mysql
symbolic-link=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid但现在我不能开始我的服务了!它使我无法将dir更改为/data/mysql (错误代码13)。
这是ls -Z /data | grep mysql的输出:
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql奇怪的是,每当我尝试启动mysqld服务而它失败时,myslq的上下文就变成system_u:object_r:default_t:s0,并在其中创建了两个dirs (mysql和test)。
不管怎么说,如果我禁用selinux的话,每样东西都很好.
发布于 2012-12-28 22:09:49
您需要使用semanage fcontext来设置MySQL数据库的非标准位置的默认文件上下文。
semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"完成后,使用restorecon修复任何标记错误的文件/目录:
restorecon -r -v /data/mysql现在您应该没有进一步的SELinux问题了。
https://serverfault.com/questions/432107
复制相似问题