
Ich weiß, dass es auf den Stackexchange-Sites bereits mehrere Beiträge zu Linux-Berechtigungen gibt, aber ich kann die Antwort auf mein Problem nicht finden.
Ich arbeite auf meinem eigenen Laptop (kein Webserver oder so) mit mySQL. Ich verwende mySQL direkt vom Konsolenclient aus. Häufig möchte ich eine Abfrage ausführen und die Ergebnisse an einem anderen Ort speichern, um sie später in LibreOffice oder woanders weiterzuverarbeiten. Ich verwende select ... into outfile 'path+file';
. Obwohl ich als ich selbst angemeldet bin, kann ich die Ausgabedatei nicht in meinem ~/Downloads/
Verzeichnis speichern, das ich als temporäres Verzeichnis verwende. Mir ist bewusst, dass der mySQL-Server unter einem speziellen Benutzer und nicht unter mir läuft. Da ich der einzige echte Benutzer hier bin, habe ich ausgeführt sudo chmod 7777 ~/Downloads
und sehe, dass jetzt angezeigt wird drwsrwsrwt
. Nach dem chmod habe ich den Server neu gestartet. Ich erhalte jedoch immer noch , ERROR 1045 (28000): Access Denied...
wenn ich versuche, die Ausgabe in diesen Ordner zu senden, wenn ich als ich selbst bei mySQL angemeldet bin. Wenn ich als Root angemeldet bin, erhalte ich , ERROR 1 (HY0000): Can't create/write to file ...
wenn ich denselben Befehl ausführe.
Daher muss ich mich als Root anmelden, meine Daten nach exportieren /tmp/
und dann sudo cp
von einem anderen Terminal aus versuchen, meine Daten abzurufen. Irgendwelche Vorschläge, was ich tun muss, um das zu beheben?
Antwort1
Ich mache das Gleiche und habe ähnliche Fehler bekommen. Dann habe ich festgestellt, dass mein Pfad nicht ganz korrekt war. Als ich den richtigen Pfad eingegeben habe, war alles in Ordnung. Wenn Sie wörtlich „~/Downloads“ als Pfad verwenden, gehe ich davon aus, dass dies nicht korrekt ist. Wahrscheinlicher ist etwas wie „~drew/Downloads“. Sie können auch versuchen, den vollständigen Pfad zu Ihrem Download-Verzeichnis zu verwenden.
TD