web-dev-qa-db-fra.com

mysqldump: Erreur: 'Impossible de créer / écrire dans un fichier

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?

7
maniat1k

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.

6
RolandoMySQLDBA

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).

0
Dejan Žikić

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.

0
Yves Martin