10
votes

InnoDB: Système d'exploitation Numéro d'erreur 13 Dans une opération de fichier non fixée après avoir changé des autorisations dans / var / lib / mysql / ou désactivant SELINUX

Lorsque j'exécute mysql , j'obtiens l'erreur de Erreur 2002 (HY000): Impossible de se connecter au serveur MySQL local via Socket '/var/run/mysqld/mysqld.sock '(2) . mysqld donne l'erreur de xxx

sudo mysqld donne la sortie de 150101 12:11:59 [Avertissement] en utilisant unique unique Option Préfixe Key_Buffer au lieu de Key_Buffer_Size est obsolète et sera supprimée dans une version future. Veuillez utiliser le nom complet à la place.

Je suis exécutant un serveur Virtual Ubuntu Linux. MySQL a travaillé sans problème avant hier, quand j'ai eu cette erreur.

J'ai essayé de définir les autorisations des fichiers dans / var / lib / mysql sur 660, / var / lib / mysql à 755 et ses sous-répertoires à 700. J'ai ensuite ran sudo chown -r mysql: mysql / var / lib / mysql . Ensuite, j'ai essayé de redémarrer mon serveur et d'exécuter mysqld. J'ai la même erreur.

Alors, j'ai essayé de désactiver Selinux en exécutant sudo vim /etc/selinux/semanage.conf et ajout selinux = désactivé au fichier comme première ligne. J'ai redémarré à nouveau et j'ai eu la même erreur.

C'est l'étendue de tout conseil que j'ai vu sur Stackexchange ou d'autres sites.

Est-ce que quelqu'un a des idées pour ce que je pouvais faire ?

Merci,

Daniel

Edit:

J'ai "résolu" mon problème en exécutant mysqld en tant que root, mais cela ne 't semble être une bonne idée de la sécurité sage, alors je suis toujours à la recherche d'une meilleure solution.


3 commentaires

Consultez ces liens, cela pourrait aider Stackoverflow.com/Questtions/11657829/... Stackoverflow.com/questions/19658891 / ...


Avez-vous vérifié à l'APPARMOR?


S'il vous plaît voir cette réponse Stackoverflow.com/questions/3907666/...


4 Réponses :


6
votes

Je pourrais résoudre ceci en modifiant la propriété du dossier sur MySQL à partir de la racine de groupe (Sudo Chown -r MySQL: dossier racine). Une fois que j'ai fait cela, tous ont commencé à travailler à nouveau.

Cordialement


1 commentaires

Cela fonctionne, mais a les mêmes risques de sécurité qu'un utilisateur mysql-racine. Ce qui signifie que si la DB a une vulnérabilité, le testeur a votre serveur.



-4
votes

Tout d'abord, tapez cette commande ci-dessous;

  • CHEWN -R racine: mysql / opt / palpp / var / mysql
  • Chewn -R racine: mysql / opt / lammp / mysql
  • CHMOD -R 777 / OPT / LEMP / VAR / MYSQL
  • CHMOD -R 777 / OPT / LAMP / MYSQL

    seconde, revenir à l'installateur.

    Cela a fonctionné pour moi.


0 commentaires

0
votes

J'ai aussi troublé avec ce problème.Je utilisé 'Setenforce 0' cette commande et ensuite le service MySQL commencer correctement.Maybe vous pouvez l'essayer.Bonne chance


0 commentaires

2
votes

Dans mon cas SELINUX a été activé et en désactivant SELINUX, j'ai pu démarrer le service

à désactiver Sellinux, modifier

/ etc / sysconfig / selinux

et définir xxx

redémarrez et vérifiez avec la commande xxx p> dossier des dossiers dans mon cas sont xxx

où / mnt / efs / fs1 / mysql est mon répertoire de données


1 commentaires

Oui, je migrais une structure de dossiers de base de données complète d'un autre serveur et je n'ai pas pu obtenir MySQL de démarrer en s'assurant que tout possédait mon utilisateur MySQL correct et que les autorisations de fichiers standard ont été correctement définies). Enfin, réalisa-le comme la couche de sécurité supplémentaire SELINUX. J'ai ensuite fait une vidage Full SQL, Renabled Selinux, puis installée "correctement" à partir du fichier de vidage.