sql >> Base de Datos >  >> RDS >> Mysql

MySQL ERROR 1290 (HY000) --secure-file-priv opción

Ubuntu 16.04 (FÁCIL):descubre dónde puedes escribir

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/     |
+---------------------------+
1 row in set (0.00 sec)

Entonces, solo escribe allí

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 instalado a través de MAMP

Averigua dónde puedes escribir

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL                      |
+---------------------------+
1 row in set (0.00 sec)

NULL significa que estás jodido, así que tienes que crear el archivo "~/.my.cnf"

Habilitar lectura/escritura para MySQL instalado a través de MAMP (en Mac):

  1. abrir "MAMP" usar foco
  2. haga clic en "Detener servidores"
  3. edite ~/.my.cnf (usando vi o su editor favorito) y agregue las siguientes líneas:

    $ vi ~/.mi.cnf

[mysqld_safe]
[mysqld]
secure_file_priv="/Users/russian_spy/"
  1. haga clic en "Iniciar servidores" (en la ventana MAMP)

Ahora comprueba si funciona:

una. inicie mysql (el usuario predeterminado de MAMP es root, la contraseña también es root)

$ /Applications/MAMP/Library/bin/mysql -u root -p 

b. en mysql mire las rutas incluidas en la lista blanca

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /Users/russian_spy/          |
+---------------------------+
1 row in set (0.00 sec)

C. Finalmente, pruebe exportando una tabla train en un archivo CSV

mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)

mysql>