Ребята, у меня есть приложение, которое использует SELECT OUTFILE для использования в качестве кэша для другого приложения, поэтому оно выводит данные прямо в /dev/shm/some/folder.
Поскольку он работает на фоновом сервере, у меня нет проблем с отключением всех средств безопасности MySQL, опциязащищенный_файл_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
решение1
Документация по mysql назащищенный_файл_privуказывает, что переменная установлена на местоположение файловой системы по умолчанию, зависящее от платформы, чтобы сделать ее безопасной по умолчанию.
Тем не менее, чтобы отключить эту функцию безопасности, вам необходимо явно задать в конфигурации переменную в виде пустой строки.
Для Ubuntu отредактируйте файл /etc/mysql/mysql.conf.d/mysqld.cnf
и добавьте в конец следующую строку:
secure_file_priv=""
Затем обязательно перезапустите службу.
решение2
Для меня добавление в конец вышеуказанного файла не сработало.
Я добавил его в /etc/mysql/my.cnf
файл в разделе [mysqld] и это сработало.
Возможно, вы сможете создать этот раздел в указанном выше файле, и это тоже сработает, я не проверял.
После перезапуска сервера вы сможете провести тестирование, SHOW VARIABLES LIKE "secure_file_priv";
если у вас есть на это привилегия.