12

Ребята, у меня есть приложение, которое использует SELECT OUTFILE для использования в качестве кэша для другого приложения, поэтому оно выводит прямо в папку /dev /shm /some /.

Поскольку он работает на фоновом сервере, у меня нет проблем с отключением всей безопасности mysql, опция secure_file_priv не установлена в my.ini, но по умолчанию установлена версией, как отключить безопасность этой папки?

[MySQL Version]
/usr/sbin/mysqld  Ver 5.7.12-0ubuntu1 for Linux on x86_64 ((Ubuntu))

[Ubuntu Version]
Description:    Ubuntu 16.04 LTS
Release:        16.04
Codename:       xenial

2 ответа2

22

В документации mysql для secure_file_priv говорится, что для переменной задано расположение по умолчанию для конкретной файловой системы, что делает ее безопасной по умолчанию.

Тем не менее, вам нужно явно установить переменную на пустую строку в вашей конфигурации, чтобы отключить эту функцию безопасности.

Для Ubuntu отредактируйте файл /etc/mysql/mysql.conf.d/mysqld.cnf и добавьте следующую строку в конце:

secure_file_priv=""

Затем обязательно перезапустите службу.

2

Для меня добавление в конец вышеупомянутого файла не сработало.

Я добавил его в файл /etc/mysql/my.cnf в разделе [mysqld], и это сработало.

Возможно, вы сможете создать этот раздел в приведенном выше файле, и он также работает, я не тестировал его.

После перезапуска сервера вы можете протестировать его с помощью SHOW VARIABLES LIKE "secure_file_priv"; при условии, что у вас есть право сделать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .