Ubuntu 16.04 (EASY):Finden Sie heraus, wo Sie schreiben dürfen
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/ |
+---------------------------+
1 row in set (0.00 sec)
Dann schreiben Sie einfach dort
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 über MAMP installiert
Finden Sie heraus, wo Sie schreiben dürfen
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL |
+---------------------------+
1 row in set (0.00 sec)
NULL bedeutet, dass Sie aufgeschmissen sind, also müssen Sie die Datei "~/.my.cnf"
erstellenLesen/Schreiben für über MAMP installiertes MySQL aktivieren (auf Mac):
- Öffnen Sie "MAMP", verwenden Sie Spotlight
- Klicken Sie auf „Server stoppen“
-
Bearbeiten Sie ~/.my.cnf (mit vi oder Ihrem bevorzugten Editor) und fügen Sie die folgenden Zeilen hinzu:
$vi ~/.my.cnf
[mysqld_safe] [mysqld] secure_file_priv="/Users/russian_spy/"
- Klicken Sie auf "Server starten" (im MAMP-Fenster)
Prüfen Sie jetzt, ob es funktioniert:
a. starten Sie mysql (der Standard-MAMP-Benutzer ist root, das Passwort ist ebenfalls root)
$ /Applications/MAMP/Library/bin/mysql -u root -p
b. Sehen Sie sich in MySQL die Pfade auf der weißen Liste an
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /Users/russian_spy/ |
+---------------------------+
1 row in set (0.00 sec)
c. Testen Sie schließlich, indem Sie eine Tabelle train
exportieren in eine CSV-Datei
mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)
mysql>