Dies kann durch mysql-Benutzerberechtigungen verursacht werden.
Wie hier angegeben https://dba.stackexchange.com/questions/17029/cannot-output-mysql-data-to-file
Gehen Sie wie folgt vor, um sich selbst DATEI-Berechtigung zu erteilen:
service mysql restart --skip-networking --skip-grant-tables
mysql <hit enter>
UPDATE mysql.user SET File_priv = 'Y' WHERE user='lea' AND host='localhost';
exit
service mysql restart
Der Linux-Benutzer kann eine Datei schreiben. Der mysql-Dienst kann jedoch von apparmor blockiert werden.
Überprüfen Sie diese Datei:/etc/apparmor.d/usr.sbin.mysqld
.
Fügen Sie dort Ihren Projektordner hinzu:
/usr/sbin/mysqld {
[...]
/home/datam/xfers/online/ r,
/home/datam/xfers/online/* rw
[...]
}
Führen Sie abschließend ein
aussudo /etc/init.d/apparmor reload
Auf modernen Systemen wird mariaDB &mysql mit systemd-Unterstützung installiert. Unter anderem hat es diese Einstellung in /etc/systemd/system/mysql.service:
Zugriff auf /home, /root und /run/user verhindern
ProtectHome=true
Das hindert es daran, in /home zu schreiben.