ОШИБКА 1 (HY000) в строке 1: (Код ошибки: 13 «Отказано в разрешении»)

#mysql #linux

Вопрос:

Я должен сохранить SQL вывод запроса в текстовом файле. Когда я выполняю необходимый запрос:

 mysql -u root -p nextcloud -e "select * from oc_share INTO OUTFILE '/root/sql/test.txt'"
 

..это приводит к этой ошибке:

 ERROR 1 (HY000) at line 1: Can't create/write to file '/root/sql/test.txt' (Errcode: 13 "Permission denied")
 

Почему это происходит. Я использую Ubuntu 20.04.

Комментарии:

1. Нужна дополнительная информация. С помощью какой программы вы выполняете запрос? Какая версия? и т.д. Спасибо.

2. Пожалуйста, поделитесь более подробной информацией. Имеет ли процесс MySQL разрешение на запись /root ?

Ответ №1:

У вас нет доступа к каталогу /root/sql из-за secure_file_priv . Пожалуйста, сделайте SHOW VARIABLES LIKE "secure_file_priv"; и посмотрите, для какого каталога вы можете использовать outfile . Этот параметр можно задать с помощью my.cnf или cmd.

 mysql> show variables like'%secure_file_priv%';
 ------------------ ----------------------- 
| Variable_name    | Value                 |
 ------------------ ----------------------- 
| secure_file_priv | /var/lib/mysql-files/ |
 ------------------ -----------------------