2015-09-09 3 views
0

Мой сайт работает нормально, за исключением, когда я выполняю резервное копирование функции для MySQL он выдает эту ошибку:Mysql соединение работает кроме мазута для SELECT * INTO OUTFILE Постулаты

SQLSTATE [28000]: Invalid спецификация разрешение: 1045 Доступ запрещен для пользователя 'username' @ 'localhost' (с использованием пароля: YES) (SQL: SELECT * INTO OUTFILE '/archive/db-backup-date-09-09-2015-time-10-30-04/accounts.csv' Со счетов)

я попытался даного:

GRANT FILE ON \*.\* TO 'username'@'localhost' 

но он бросает другую ошибку

# 1045 - Доступ запрещен для пользователя «myHostingUserName» @ «локальный» (используя пароль: ДА)

к сведению, что в этой ошибке он пользователь, для кого доступ запрещен, это мое имя пользователя хостинга (хост-сервер), но у меня нет пользователя MySql с этим именем.

ответ

0

Фактически mysql не имеет прав снаружи, поэтому вам нужно экспортировать свой файл в mysql, вы можете использовать его как ниже,

SELECT * INTO OUTFILE '/tmp/accounts.csv' FROM accounts; 

Предполагая/tmp - это каталог, в котором mysql создает временные файлы.

Также, если вы не согласны с тем, что ваша команда создания csv подходит вам, так как вы не управляете разделом полей и т. Д.

Что касается второй ошибки, у вас нет прав на большие права.

+0

Спасибо за ответ, но в моей локальной среде скрипт работал нормально, и как я могу найти каталог, где я могу разместить свой CSV-файл? –

+0

получите ваш temp dir на «SHOW VARIABLES LIKE tmpdir», и вы можете использовать этот путь для сохранения, но это временный путь, поэтому вам нужно перейти отсюда, иначе файл может быть потерян здесь. другой мудрый вы можете сохранить в каталоге данных, который также не является хорошим предложением. Вы можете создать один резервный каталог и дать разрешение на этот каталог на mysql и сохранить здесь csv. –

+0

Я сделал «tempdir», но он не показал мне полный путь, я не мог найти каталог, но как я могу дать разрешение на каталог для mysql? есть ли команда? –