Impossible de créer des fichiers temporaires sur /var/tmp
.
mysqldump: Error: 'Can't create/write to file '/var/tmp/mysql.k6NKGk/#sql_5dc_2.MAI' (Errcode: 2)' when trying to dump tablespaces
Sur mon OS.
id mysql
uid=60(mysql) gid=105(mysql) groups=105(mysql)
ls -l /var/
drwxrwxrwt 2 root root 72 oct 24 16:43 tmp
Que puis-je faire?
Vous pouvez peut-être changer de propriétaire avec
chown -R mysql:mysql /var/tmp
Vérifiez s'il y a un [mysqldump]
en-tête dans /etc/my.cnf
. Cela peut ressembler à ceci:
[mysqldump]
tmpdir=/var/tmp
ou peut-être sous le [mysqld]
entête
[mysqldump]
tmpdir=/var/tmp
Essayez de le commenter et réessayez mysqldump.
J'ai eu le même problème, je l'ai résolu en changeant le chemin tmpdir
.
Vous pouvez le changer en ce que vous voulez, il suffit de définir correctement l'autorisation pour ce dossier ("écrire" pour tous ou simplement pour l'utilisateur mysql
).
Le dossier /var/tmp/mysql.k6NKGk/
peut avoir été supprimé par systemd-tmpfiles
(ou tmpwatch
) s'il n'y a pas eu d'activité depuis un certain temps.
Un redémarrage du service est un moyen de contourner le problème.
Veuillez vous référer à https://stackoverflow.com/questions/11997012/mysql-cant-create-write-to-file-tmp-sql-3c6-0-myi-errcode-2-what-does = pour plus de détails ou d'autres sources possibles comme SELinux.