Ubuntu 16.04 (EASY):ontdek waar je mag schrijven
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/ |
+---------------------------+
1 row in set (0.00 sec)
Schrijf daar dan gewoon
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 geïnstalleerd via MAMP
Zoek uit waar je mag schrijven
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL |
+---------------------------+
1 row in set (0.00 sec)
NULL betekent dat je genaaid bent, dus je moet het bestand "~/.my.cnf" maken
Lezen/schrijven inschakelen voor MySQL geïnstalleerd via MAMP (op Mac):
- open "MAMP" gebruik spotlight
- klik op "Servers stoppen"
-
bewerk ~/.my.cnf (gebruik vi of je favoriete editor) en voeg de volgende regels toe:
$ vi ~/.my.cnf
[mysqld_safe] [mysqld] secure_file_priv="/Users/russian_spy/"
- klik op "Servers starten" (in MAMP-venster)
Controleer nu of het werkt:
a. start mysql (standaard MAMP-gebruiker is root, wachtwoord is ook root)
$ /Applications/MAMP/Library/bin/mysql -u root -p
b. kijk in mysql naar de paden op de witte lijst
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /Users/russian_spy/ |
+---------------------------+
1 row in set (0.00 sec)
c. Test ten slotte door een tabel train
te exporteren naar een CSV-bestand
mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)
mysql>