#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/ |
------------------ -----------------------