Situazione: ho due schemi database MySQL. Attenzione: nello stesso server.
Nel primo importo i dati in una tabella da un file csv utilizzando l’istruzione LOAD DATA senza problemi.
Nel secondo voglio fare la stessa cosa, sullo stesso server, ma ottengo questo errore:
Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
Cioò che dice la documentazione di MySQL e ciò che trovo in tutti i forum è di modificare il file di configurazione
/etc/mysql/my.cnf
per aggiungere una riga che specifichi l’opzione secure-file-priv, per dichiarare qual è la directory preposta ai file da caricare, ma ci sono due problemi
- l’opzione è già specificata e anche se metto i file in quella cartella, l’errore non scomapre; anche se cambio la cartella e riavvio il server (e posiziono i file csv in quest’ultima cartella), l’errore non scompare
- il server è lo stesso
Il problema è l’applicazione apparmor di cui ho già parlato in un altro articolo. In sostanza la soluzione era far rileggere ad apparmor il suo file di configurazione (operazione che di tanto intanto si rende necesssaria per cui ho raccolto i comandi uno script Bash):
#!/bin/bash apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld service mysql stop service mysql start
E tutto va a posto. Non mi spiego ancora, però, come fosse possibile eseguire il LOAD DATA per uno schema e non per un’altro.
Stay tuned.
Commenti recenti