Incapable de courir Mysql de SELinux

J'essaie de commencer MySQL de SELinux sur CentOS 6, Cependant, j'obtiens l'erreur suivante.

131212 09:08:08 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
131212 09:08:58 mysqld_safe Starting mysqld daemon with databases from /u/mysql
131212 9:08:58 [Warning] Can't create test file /u/mysql/webserver.lower-test
131212 9:08:58 [Warning] Can't create test file /u/mysql/webserver.lower-test
^G/usr/libexec/mysqld: Can't change dir to '/u/mysql/' (Errcode: 13)
131212 9:08:58 [ERROR] Aborting

Nous avons installé MySQL Avec de nombreux autres serveurs, toutefois la différence est que le répertoire de données mysql Situé dans une autre section que la norme /vat/lib.mysql. Au lieu de cela, il est dans / u / mysql.

Voici un fichier /etc/my.cnf

[mysqld]
datadir=/u/mysql
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

max_allowed_packet = 32M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Voici les autorisations pour le catalogue mysql

drwxr-xr-x. mysql    mysql    system_u:object_r:mysqld_db_t:s0 mysql

Et désormais la permission pour l'un des catalogues du catalogue / u / mysql

drwx------. mysql mysql system_u:object_r:mysqld_db_t:s0 databasefolder

Quelqu'un a-t-il une idée de la façon de le réparer? Je peux confirmer que l'arrêt SELinux résout le problème, il devrait donc s'agir d'une sorte de problème avec les autorisations SELinux.

remercier
Invité:

Blanche

Confirmation de:

Vous devez commencer avec votre /var/log/audit/audit.log Rapports de refus AVC, K. mysqld. Ils peuvent être transmis
http://linux.die.net/man/8/audit2why
Pour collecter des informations supplémentaires qui vous aideront à décider quoi faire.

Vous avez des fichiers mysql Dans un emplacement non standard, et bien que les répertoires aient le bon contexte, il n'ya probablement aucun fichier. La meilleure façon d'y parvenir - Ajouter de nouveau fcontext Pour le catalogue / u / mysql.

semanage fcontext -a -t mysqld_db_t "/u/mysql(/.*)?"
restorecon -rv /u/mysql

DANS
http://linux.die.net/man/8/semanage
L'équipe met en place une politique de sorte que ce qui suit
http://linux.die.net/man/8/restorecon
Les commandes ne renvoient pas le contexte sur la défaillance du système.

Agathe

Confirmation de:

Mon collègue a signalé que cela a finalement résolu le problème.

Vous pouvez voir les causes raisonnables des échecs avec l'aide de

audit2why -a

Pour créer de nouveaux modules de stratégie, utilisez

audit2allow -a -M <policyname>

Si vous obtenez une erreur "Pas trouvé"

yum install policycoreutils-python pschaff

https://www.centos.org/forums/viewtopic.php?t=8935
</policyname>

Pour répondre aux questions, connectez-vous ou registre