MySQL Permission denied sur Debian

Avant de poser une question, voyez si on n'y a pas déjà répondu pour vous !

Modérateur : Mods GNU/Linux

Malekal_morte
Site Admin
Site Admin
Messages : 96581
Inscription : 10 sept. 2005 13:57
Contact :

MySQL Permission denied sur Debian

Message par Malekal_morte » 06 févr. 2019 19:07

Cet article rapide vous propose des solutions sur les erreurs "Permission Denied" lors du lancement de MySQL.
Cela arrive lorsque vous cherchez à déplacer le datadir de Mysql dans un autre de celui que celui par défaut (/var/lib/mysql)
Par exemple vers /home pour une machine OVH qui possède souvent plus de place disque.

Lorsque vous tentez de relancer MySQL, vous obtenez l'erreur Errcode: 13 "Permission denied" :

Code : Tout sélectionner

Feb  6 09:53:01 stock mysqld[3681]: 2019-02-06  9:53:01 139945931448768 [Note] /usr/sbin/mysqld (mysqld 10.1.37-MariaDB-0+deb9u1) starting as process 3681 ...
Feb  6 09:53:01 stock mysqld[3681]: 2019-02-06  9:53:01 139945931448768 [Warning] Can't create test file /home/mysqlDatabases/ovh-7.lower-test
Feb  6 09:53:01 stock mysqld[3681]: [b]#007/usr/sbin/mysqld: Can't change dir to '/home/mysqlDatabases/' (Errcode: 13 "Permission denied")[/b]
/usr/sbin/mysqld: Can't change dir to '/home/mysqlDatabases/' (Errcode: 13 "Permission denied")
/usr/sbin/mysqld: Can't change dir to '/home/mysqlDatabases/' (Errcode: 13 "Permission denied")
Spécifique Debian

Sur Debian, il faut éditer le fichier suivant : /etc/systemd/system/mysqld.service
Ensuite cherchez la ligne :
# Prevent accessing /home, /root and /run/user
ProtectHome=true
Le fichier /etc/systemd/system/mysqld.service
Le fichier /etc/systemd/system/mysqld.service
Commentez la ligne ProcectHome puis systemctl daemon-reload
Enfin relancez MySQL.
relance le service MySQL
relance le service MySQL
mysql-permission-denied-3.png (3.77 Kio) Consulté 409 fois
Cas Apparmor

Certains distributions sont livrées avec Apparmor qui permet d'associer un profil de sécurité à chaque application.
(dans mon cas, la Debian avec le template OVH n'est pas livrée avec ce programme.)

Il faut donc donner les permissions sur le dossier que vous souhaitez utiliser en data_dir à MySQL
Pour se faire, éditez le fichier /etc/apparmor.d/usr.sbin.mysqld

Ajouter les répertoires MySQL avec les permissions de la sorte.
/newDirectory/mysql/ r,
/newDirectory/mysql/** rwk,
Recharchez la configuration AppArmor : service apparmor reload


Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Tutoriels Logiciels - Tutoriel Windows - Windows 10

Stop publicités - popups intempestives
supprimer-trojan.com : guide de suppression de malwares

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus les articles qui vous plaisent.


Répondre

Revenir vers « Tutoriels et annonces »