Mysql
 sql >> Base de données >  >> RDS >> Mysql

ERREUR MySQL 1290 (HY000) --option secure-file-priv

Ubuntu 16.04 (FACILE) :Découvrez où vous êtes autorisé à écrire

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

Ensuite, écrivez simplement ici

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 installé via MAMP

Découvrez où vous êtes autorisé à écrire

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

NULL signifie que vous êtes foutu donc vous devez créer le fichier "~/.my.cnf"

Activer la lecture/écriture pour MySQL installé via MAMP (sur Mac) :

  1. ouvrir "MAMP" utiliser Spotlight
  2. cliquez sur "Arrêter les serveurs"
  3. éditez ~/.my.cnf (en utilisant vi ou votre éditeur préféré) et ajoutez les lignes suivantes :

    $ vi ~/.mon.cnf

[mysqld_safe]
[mysqld]
secure_file_priv="/Users/russian_spy/"
  1. cliquez sur "Démarrer les serveurs" (dans la fenêtre MAMP)

Vérifiez maintenant si cela fonctionne :

un. démarrer mysql (l'utilisateur MAMP par défaut est root, le mot de passe est également root)

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

b. dans mysql, regardez les chemins de la liste blanche

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

c. Enfin, testez en exportant une table train dans un fichier CSV

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

mysql>