SQLSTATE [HY000]: общая ошибка: 1 Не удается создать / записать в файл '/ var / www/html/new_7alaqa/public/dumpfiles/15869372079790_1036teachernote.txt' - PullRequest
0 голосов
/ 15 апреля 2020

Папка / var / www/html/new_7alaqa/public/dumpfiles/ принадлежит mysql: mysql, и я пытаюсь запустить:

$note_file= time().$user_idd."_".$halaqa_idd.$typed."note.txt";
$note_query="select * from notes where is_deleted = 0 and halaqa_id=".$halaqa_idd."  into outfile '/var/www/html/new_7alaqa/public/dumpfiles/$note_file' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '),\n(';";

DB::select($note_query);

folder permission

Редактировать: из mysql команды: работа в каталоге / tmp и каталоге по умолчанию

select * from users  into outfile '/var/www/html/new_7alaqa/public/dumpfiles/11.txt';
ERROR 1 (HY000): Can't create/write to file '/var/www/html/new_7alaqa/public/dumpfiles/11.txt' (Errcode: 13 - Permission denied)
mysql> select * from users  into outfile '/tmp/11.txt';
Query OK, 1417 rows affected (0.00 sec)

1 Ответ

0 голосов
/ 15 апреля 2020

В зависимости от настроенных учетных записей сервера / базы данных / пользователя, вот несколько вещей, которые можно попробовать:

  1. Попробуйте изменить владельца dumpfiles на www-data:
sudo chown -R www-data:www-data dumpfiles

Вы можете вернуться, выполнив

sudo chown -R mysql:mysql dumpfiles
Дайте FILE разрешение вашему MySQL пользователю.
GRANT FILE ON *.* TO user;
FLUSH PRIVILEGES;

Важно отметить, что даже если вы уже дали своему пользователю все разрешения, запустив GRANT ALL, он не t включает разрешение FILE.

Попробуйте выбрать путь:
$dumpFilePath = addslashes('/var/www/html/new_7alaqa/public/dumpfiles/$note_file');
$note_query="select * from notes where is_deleted = 0 and halaqa_id=".$halaqa_idd."  into outfile '$dumpFilePath' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '),\n(';";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...