欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RHAL AS 4安装mysql问题(selinux) MySQLUnixBlogHTML 

程序员文章站 2022-07-15 11:47:02
...
今天在给服务器上安装mysql的时候遇到一个很奇怪且郁闷的问题。本来以前一直用的是as 3,这回下了as 4打算用用看。下了mysql的rpm包,安装后mysql服务启动一直failed。查看mysql的安装日志也就是短短的,什么有用的信息都没。后来发现/var/log/messages中出现了一堆日志:
 
Dec  8 16:24:28 localhost kernel: audit(1165566268.356:0): avc:  denied  { write } for  pid=3680 exe=/usr/sbin/mysqld name=mysql dev=dm-0 ino=1849 scontext=root:system_r:mysqld_t tcontext=root:object_r:var_lib_t tclass=dir
Dec  8 16:24:28 localhost kernel: audit(1165566268.361:0): avc:  denied  { write } for  pid=3680 exe=/usr/sbin/mysqld name=mysql dev=dm-0 ino=1849 scontext=root:system_r:mysqld_t tcontext=root:object_r:var_lib_t tclass=dir
Dec  8 16:24:28 localhost kernel: audit(1165566268.459:0): avc:  denied  { write } for  pid=3680 exe=/usr/sbin/mysqld name=mysql dev=dm-0 ino=1849 scontext=root:system_r:mysqld_t tcontext=root:object_r:var_lib_t tclass=dir
Dec  8 16:25:03 localhost lsb_log_message:  failed
Dec  8 16:46:57 localhost sshd(pam_unix)[3803]: session opened for user root by root(uid=0)


   这里我也看不出来具体是什么问题,然后请教了以前公司的一位同事,给我看了篇blog,才知道as 4里默认把selinux激活了,rhel 4 使用在 ext2/ext3 文件系统上的扩展属性来支持 SELinux。这就意味着,当一个文件被写到默认挂载的 ext2/ext3 文件系统中时,一个扩展的属性也会被写入。看上面的日志可以知道,/var/lib/mysql目录是var_lib_t类型,而selinux为了安全性只允许mysql进程访问mysqld_t类型的文件或目录,然而又去/etc/selinux/config里disabled掉selinux后,一切都正常了。或者还可以更改/var/lib/mysql目录属性为mysqld_t也可以。 具体可以参考blog:
http://ancg.bokee.com/5167445.html

引用
参考资料:http://ancg.bokee.com/5167445.html