Ubuntu 16.04 (ŁATWE):Dowiedz się, gdzie możesz pisać
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/ |
+---------------------------+
1 row in set (0.00 sec)
Następnie po prostu napisz tam
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 zainstalowany przez MAMP
Dowiedz się, gdzie możesz pisać
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL |
+---------------------------+
1 row in set (0.00 sec)
NULL oznacza, że masz przerąbane, więc musisz utworzyć plik „~/.my.cnf”
Włącz odczyt/zapis dla MySQL zainstalowanego przez MAMP (na Macu):
- otwórz „MAMP” użyj reflektora
- kliknij „Zatrzymaj serwery”
-
edytuj ~/.my.cnf (używając vi lub ulubionego edytora) i dodaj następujące linie:
$ vi ~/.my.cnf
[mysqld_safe] [mysqld] secure_file_priv="/Users/russian_spy/"
- kliknij „Uruchom serwery” (w oknie MAMP)
Teraz sprawdź, czy to działa:
a. uruchom mysql (domyślnym użytkownikiem MAMP jest root, hasło to także root)
$ /Applications/MAMP/Library/bin/mysql -u root -p
b. w mysql spójrz na ścieżki z białej listy
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /Users/russian_spy/ |
+---------------------------+
1 row in set (0.00 sec)
c. Na koniec przetestuj, eksportując tabelę train
do pliku CSV
mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)
mysql>