Ubuntu 16.04 (FACILE):scopri dove puoi scrivere
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/ |
+---------------------------+
1 row in set (0.00 sec)
Quindi, scrivi lì
mysql> SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)
mysql>
Mac OSX:MySQL installato tramite MAMP
Scopri dove puoi scrivere
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL |
+---------------------------+
1 row in set (0.00 sec)
NULL significa che sei fregato, quindi devi creare il file "~/.my.cnf"
Abilita lettura/scrittura per MySQL installato tramite MAMP (su Mac):
- apri "MAMP" usa Spotlight
- fai clic su "Interrompi server"
-
modifica ~/.my.cnf (usando vi o il tuo editor preferito) e aggiungi le seguenti righe:
$ vi ~/.mio.cnf
[mysqld_safe] [mysqld] secure_file_priv="/Users/russian_spy/"
- fai clic su "Avvia server" (nella finestra MAMP)
Ora controlla se funziona:
un. avvia mysql (l'utente MAMP predefinito è root, anche la password è root)
$ /Applications/MAMP/Library/bin/mysql -u root -p
b. in mysql guarda i percorsi nella lista bianca
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /Users/russian_spy/ |
+---------------------------+
1 row in set (0.00 sec)
c. Infine, prova esportando una tabella train
in un file CSV
mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)
mysql>