Ich habe Debian Lenny, PHPmyadmin und Postfix installiert.
Wenn Sie die PHPmyadmin-Benutzeroberfläche verwenden und auf eine Tabelle mit Daten zugreifen, erhalten Sie:
Datei '/tmp/#sql_xxxx.MYI' kann nicht erstellt / geschrieben werden (Fehlercode: 13)
Perror 13 macht sagt:
OS error code 13: Permission denied
Ich finde das tmpdir so:
mysqladmin -p variables | grep -w tmpdir
| tmpdir | /tmp
Das bedeutet, dass MySQL nicht in / tmp schreiben kann. Durch das Erstellen der Berechtigungen für: 777 wird dies behoben. Aber ich fühle mich nicht richtig, das muss ich tun. Gibt es einen besseren Weg / Fix?
Soll ich den Wert tmpdir ändern /etc/mysql/my.cnf
?
Antworten:
Es sieht so aus, als ob Ihre Berechtigungen für / tmp falsch sind. Sie sollten wirklich für alle gelesen / geschrieben / ausgeführt werden, bei denen das Sticky-Bit gesetzt ist.
Das Sticky-Bit fügt einige Einschränkungen für die Interaktion anderer Benutzer mit Dateien hinzu, die nicht von ihnen erstellt wurden oder deren Eigentümer sie sind. Es besteht also kein Grund zur Sorge.
Wenn Sie möchten, können Sie auch ein separates Verzeichnis erstellen, das dem mysql-Benutzer gehört und von diesem beschrieben werden kann, und dieses Verzeichnis in my.cnf angeben, das anstelle des systemweiten / tmp verwendet werden soll.
quelle
Normalerweise ist das Verzeichnis / tmp für alle beschreibbar. Sie sollten sich darüber keine Sorgen machen. Zusätzlich wird das Sticky-Bit gesetzt, sodass nur root und der Eigentümer einer Datei diese Datei löschen können.
Einen schönen Tag noch
quelle