Inconnu/non prise en charge de moteur de stockage: InnoDB
Je suis la mise en place d'un serveur de réplication et lorsque je tente de démarrer le service mysql pour la première fois, il échoue:
[root@ravioli mysql]# service mysqld start
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
[root@ravioli mysql]# tail /var/log/mysqld.log
151013 13:41:27 [ERROR] Plugin 'InnoDB' init function returned error.
151013 13:41:27 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
/usr/libexec/mysqld: File '/databases/mysql/mysql_slow_queries.log' not found (Errcode: 13)
151013 13:41:27 [ERROR] Could not use /databases/mysql/mysql_slow_queries.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
151013 13:41:27 [ERROR] Unknown/unsupported storage engine: InnoDB
151013 13:41:27 [ERROR] Aborting
151013 13:41:27 [Note] /usr/libexec/mysqld: Shutdown complete
151013 13:41:27 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
J'ai confirmé que l'utilisateur mysql
voit et est capable d'écrire à /databases/mysql/mysql_slow_queries.log
.
Puis j'ai vérifié getenforce
et de voir qu'il est défini à Enforcing
.
Comment puis-je configurer MySQL pour jouer gentiment avec SELinux?
Vous devez vous connecter pour publier un commentaire.
Avais-je besoin pour supprimer les deux fichiers qui sont:
et
Ensuite revenir à démarrer mysql, tout a fonctionné
Cela a résolu mon problème
Ok c'était en fait beaucoup plus facile que prévu.
Par défaut
SELinux
estEnforcing
, ce qui empêche inattendu écrit sur le système de fichiers. J'avais juste besoin de dire SELinux que c'est OK pour MySQL pour écrire dans un répertoire non standard. À savoir:Derp. Pour installer
semanage
, utilisez ceci:Maintenant, exécutez de nouveau la commande. Cela peut prendre quelques instants...
Vérifiez que SELinux est configuré pour ce nouveau répertoire en regardant ce fichier de configuration:
Des répertoires supplémentaires peuvent être ajoutés, par exemple si vous avez un dédié répertoire tmp quelque part.
Vérifier la config de nouveau:
Enfin, mettre à jour les autorisations à l'aide de
restorecron
et dans ma configuration,
Maintenant question:
Bene.