MySQL – Datenbankdateien an anderer Stelle anlegen

OS : RHEL6 / 7(clone)
SELinux : targeted
MySQL : 5.1 / 5.5

Datenverzeichnis nach /data/mysql verschieben :

 

SELinux Policy Anpassen :
Variante 1

vi /etc/selinux/targeted/contexts/files/file_contexts
Folgende Zeilen einfügen :
/data(/.*)?               system_u:object_r:default_t:s0
/data/mysql(/.*)?         system_u:object_r:mysqld_db_t:s0

Variante 2

semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
(Sollte semanage nicht auf dem System sein : yum install policycoreutils-python)

 

Danach die Verzeichnisse kontexte anhand der Policy zurück setzen.

restorecon -Rv /data

restorecon -Rv /data/mysql
chown mysql:mysql -R /data/mysql

 (Referenz : https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Troubleshooting-Top_Three_Causes_of_Problems.html)

 (Referenz : https://blogs.oracle.com/jsmyth/entry/selinux_and_mysql)