Как сбросить таблицу mysql в файл csv в mac os sierra?

SELECT *
FROM contacts
INTO OUTFILE 'contacts.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

Я запускаю этот запрос в сиквеле, чтобы вывести таблицу в CSV-файл. Но это дает мне ошибку

«Сервер MySQL работает с параметром --secure-file-priv, поэтому он не может выполнить этот оператор»

Насколько я знаю, в mac os sierra нет файла my.cnf. он просто работает со значением по умолчанию. Не подскажете, как побороть эту проблему?


person sad_man    schedule 25.09.2017    source источник
comment
Почему как csv? потому что в противном случае у вас есть mysqldump   -  person Martijn    schedule 25.09.2017
comment
Возможный дубликат Mysqldump в формате CSV   -  person Martijn    schedule 25.09.2017


Ответы (2)


Для MySQL, установленной через MAMP (на Mac):

  1. открыть "MAMP" использовать прожектор
  2. нажмите "Остановить серверы"
  3. отредактируйте ~/.my.cnf (с помощью vi или вашего любимого редактора) и следующие строки:

    $ vi ~/.my.cnf

[mysqld_safe]
[mysqld]
secure_file_priv="/Users/russian_spy/"
  1. нажмите «Запустить серверы» (в окне MAMP)

Теперь проверьте, работает ли это:

а. запустите mysql (пользователь MAMP по умолчанию — root, пароль — root)

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

б. в mysql посмотрите пути из белого списка

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

в. Наконец, проверьте, экспортировав таблицу contacts в файл CSV.

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

mysql>
person russian_spy    schedule 27.11.2017

Экспорт MySQL в папку проекта дампа (команда CMD)

По умолчанию в OS X нет файла my.cnf, и MySQL просто использует значения по умолчанию. Чтобы настроить свой собственный my.cnf, вы можете просто создать файл прямо в /etc.

Пример файла конфигурации можно найти здесь >> /usr/local/mysql/support-files/

person Community    schedule 25.09.2017