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
etdf -hi
), et s'il est monté en lecture/écriture (mount
oufindmnt
oucat /proc/mounts
).0 votes
Ce sont probablement mysql et
mysql
.