1 votes

Mysqld : Impossible de créer/écrire dans le fichier '/home/mysqltmp/ibXXX' Permission refusée

Mon volume principal est un disque SSD de 20 Go monté sur /. J'ai un disque dur de 4 To monté dans /home. Donc pour économiser de l'espace, je veux définir le répertoire temporaire de mysql sur /home/mysqltmp.

Cependant, lorsque je définis ce répertoire, mysql ne démarre pas. J'obtiens une erreur :

mysqld: Can't create/write to file '/home/mysqltmp/ibm7cVN0' (Errcode: 13 "Permission denied")

J'ai vérifié les autorisations et elles sont correctes :

# ls -ld /home/mysqltmp/
drwxrwxrwx 2 mysql mysql 4096 Apr  4 03:19 /home/mysqltmp/

En exécutant mysqld en tant que root, tout démarre sans problème.

Serveur :

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial

Remarque : le problème est survenu après la mise à jour vers 16.04, cela fonctionnait sur 14.04

Détails de MySQL :

# mysql -V
mysql  Ver 15.1 Distrib 10.1.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

0 votes

Veuillez ajouter les permissions /home (ls -ld /home), les permissions /home/mysqltmp/ibm7cVN0 (idem) et l'utilisateur/le groupe qui exécute le serveur MySQL (voir à l'intérieur du fichier my.cnf). De plus, vérifiez si le système de fichiers a suffisamment d'espace libre et d'inodes (df -h et df -hi), et s'il est monté en lecture/écriture (mount ou findmnt ou cat /proc/mounts).

0 votes

Ce sont probablement mysql et mysql.

1voto

asktyagi Points 2051

Je pense que cela pourrait être des valeurs UMASK. Veuillez vérifier umask.

Pour changer la valeur UMASK par défaut, lancez mysqld_safe comme suit:

$ UMASK=384  # = 600 en octal
$ export UMASK
$ mysqld_safe &

Par défaut, MySQL crée des répertoires de base de données avec une valeur de permission d'accès de 0750. Pour modifier ce comportement, définissez la variable UMASK_DIR. Si vous définissez sa valeur, de nouveaux répertoires sont créés avec les valeurs de UMASK et UMASK_DIR combinées. Par exemple, pour donner un accès de groupe à tous les nouveaux répertoires, démarrez mysqld_safe comme suit:

$ UMASK_DIR=504  # = 770 en octal
$ export UMASK_DIR
$ mysqld_safe &

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X