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) :
- ouvrir "MAMP" utiliser Spotlight
- cliquez sur "Arrêter les serveurs"
-
é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/"
- 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>