Ciò potrebbe essere causato dalle autorizzazioni utente mysql.
Come indicato qui https://dba.stackexchange.com/questions/17029/cannot-output-mysql-data-to-file
Per concederti il privilegio FILE, procedi come segue:
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
L'utente Linux può scrivere un file. Ma il servizio mysql potrebbe essere bloccato da apparmor.
Controlla questo file:/etc/apparmor.d/usr.sbin.mysqld
.
Aggiungi lì la cartella del tuo progetto:
/usr/sbin/mysqld {
[...]
/home/datam/xfers/online/ r,
/home/datam/xfers/online/* rw
[...]
}
Infine, fai un
sudo /etc/init.d/apparmor reload
Sui sistemi moderni mariaDB e mysql vengono installati con il supporto systemd. Tra le altre cose, ha questa impostazione in /etc/systemd/system/mysql.service:
Impedisci l'accesso a /home, /root e /run/user
ProtectHome=true
Questo è ciò che gli impedisce di scrivere in /home.