Fehlerbehebung bei Mysqls Auswählen in Outfile Errcode 13
Daten exportieren in einem CSV mithilfe von MySQL SELECT INTO OUTFILE
kann einen Errcode 13 -Berechtigungsfehler auslösen. Dies geschieht normalerweise, wenn der Speicherort der Ausgabedatei nicht das Standard -Speicherverzeichnis von MySQL ist (häufig /tmp
). Benutzer stoßen häufig auf dieses Problem beim Speichern in alternativen Verzeichnissen.
Dieser Fehler stammt aus der Sicherheit des Betriebssystems. Verteilungen wie Ubuntu Server ermöglichen die Abarmor häufig standardmäßig, und das MySQL -Profil befindet sich möglicherweise im "Durchsetzung" -Modus. Dies schränkt den Schreibzugriff von MySQL auf bestimmte Verzeichnisse ein.
Um dies zu beheben, passen Sie das Apparmorprofil für MySQL an, um das Schreiben in Ihr ausgewähltes Verzeichnis zu ermöglichen:
apparmor Status überprüfen: Verwenden Sie diesen Befehl, um den Apparmor -Modus für MySQL zu bestätigen:
<code class="language-bash">sudo aa-status</code>
Bearbeiten Sie das Apparmor -Profil (falls im Durchsetzung des Modus): Wenn Apparmor durchgesetzt wird, ändern Sie die Datei /etc/apparmor.d/usr.sbin.mysqld
. Fügen Sie Zeilen hinzu oder ändern Sie den Zugriff auf Ihr Zielverzeichnis. Zum Beispiel, um das Schreiben zu /data/
und seine Unterverzeichnisse zu erlauben:
<code>/usr/sbin/mysqld { ... **/data/ r, /data/* rw, }</code>
Apparmor -Profile neu laden: Nach dem Bearbeiten des Profils laden Apparmor neu:
<code class="language-bash">sudo /etc/init.d/apparmor reload</code>
Wichtige Sicherheitsüberlegungen: Zugriff auf Schreibzugriff auf MySQL erfordert sorgfältige Berücksichtigung der Auswirkungen auf die Sicherheit. Implementieren Sie robuste Berechtigungen und Sicherheitsmaßnahmen, um den nicht autorisierten Datenzugriff zu verhindern.
Das obige ist der detaillierte Inhalt vonWarum wählt MySQL in Outfile Return ERRCODE 13 zurück und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!