Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL ERROR 1290 (HY000) --opzione-secure-file-priv

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):

  1. apri "MAMP" usa Spotlight
  2. fai clic su "Interrompi server"
  3. 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/"
  1. 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>