SELinux가 활성화된 Cent OS 7에 MySQL 5.6을 설치하려고 하며 오류를 극복하려고 합니다(에서 /var/log/audit/audit.log
).
type=AVC msg=audit(1424111345.853:558): avc: denied { execmem } for pid=1795 comm="mysqld" scontext=system_u:system_r:mysqld_t:s0 tcontext=system_u:system_r:mysqld_t:s0 tclass=process
내 설치 과정은 매우 간단합니다. virutalbox 가상 머신에서는 CentOS7 iso를 사용하여 운영 체제를 설치하고 설치 유형으로 최소화를 선택합니다.
그런 다음 다음 명령을 실행하여 mysql yum 저장소를 추가했습니다.yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
그런 다음 다음 명령을 사용하여 MySQL을 설치하십시오.yum install mysql-community-server
설치 시 오류가 표시되지 않았지만 systemctl start mysqld를 실행하려고 하면 위의 SElinux 메시지가 표시됩니다.
저는 SELinux에 대한 간단한 온라인 강좌를 수강한 후 audit2allow 문제 해결 도구를 발견했습니다. 이 도구는 유형 적용 허용 규칙이 누락되었음을 알려주었습니다. audit2allow -a를 실행하면 다음이 제공됩니다.
#============= mysqld_t ==============
allow mysqld_t self:process execmem;
실제로 이 모듈을 만드는 것을 방해하는 이유는 SELinux가 아직 구성을 수정하지 않고 MySQL을 실행할 수 있는 전략을 가지고 있지 않다는 사실을 믿기 어렵다는 것입니다. 다른 사람이 이 작업을 수행해야 했습니까? 아니면 CentOS 7에서 MySQL을 실행하기 위해 무엇을 했습니까?
답변1
버전 5.6.23의 MySQL 버그로 인해 다음 문제가 발생합니다.http://bugs.mysql.com/bug.php?id=75912, 버전 5.6.24 이상을 사용하면 SELinux 문제를 해결할 수 있습니다.