Impossible de créer / écrire dans le fichier '/tmp/#sql_xxxx.MYI' (Errcode: 13)

9

J'ai installé Debian Lenny, PHPmyadmin et postfix.

Lorsque vous utilisez l'interface graphique PHPmyadmin et accédez à n'importe quelle table avec des données, j'obtiens:

Impossible de créer / écrire dans le fichier '/tmp/#sql_xxxx.MYI' (Errcode: 13)

faire perror 13 dit:

OS error code  13:  Permission denied

Je trouve le tmpdir lik donc:

mysqladmin -p variables | grep -w tmpdir
| tmpdir                          | /tmp

Maintenant, cela signifie que mysql ne peut pas écrire dans / tmp. Faire les autorisations pour: 777 corrige cela. Mais je ne me sens pas bien, je dois le faire. Existe-t-il une meilleure solution / solution?

Dois-je modifier la valeur tmpdir dans /etc/mysql/my.cnf?

Cudos
la source
merci d'avoir inclus la sortie mysqladmin. Je l'ai maintenant utilisé pour faire don d'un tmpdir dédié à mysql, ajoutant un peu de sécurité.
Florian Heigl

Réponses:

20

Il semble que vos autorisations sur / tmp soient incorrectes. Ils devraient vraiment être lus / écrits / exécutés pour tout le monde avec l'ensemble de bits collants.

chmod 1777 /tmp

Le bit collant ajoute certaines restrictions à la façon dont les autres utilisateurs interagissent avec les fichiers qui ne leur sont pas créés ou détenus, il n'y a donc aucune raison de s'inquiéter.

Si vous le souhaitez, vous pouvez également créer un répertoire séparé détenu et accessible en écriture par l'utilisateur mysql et spécifier ce répertoire dans my.cnf à utiliser à la place du système à l'échelle / tmp.

Roy
la source
Merci beaucoup pour cela: "chmod 1777 / tmp" le bit collant 1 était quelque chose que je ne savais pas et cela m'a tué parce que j'ai perdu beaucoup de temps sur cela sans savoir pourquoi. Maintenant je le remercie Merci d'avoir publié ce "chmod 1777 / tmp"
3

Normalement, le répertoire / tmp est accessible en écriture pour tout le monde. Vous ne devriez pas vous en préoccuper. De plus, le bit collant est défini de sorte que seuls root et le propriétaire d'un fichier puissent supprimer ce fichier.

chmod 777 / tmp
chmod o + t / tmp

Bonne journée

ver
la source
Quelqu'un connaît-il le nombre octal du bit collant?
grub
Oui, c'est 1 sur le premier octal.
Roy