Pessoal, tenho uma aplicação que usa SELECT OUTFILE para ser usada como cache de outra aplicação, então a saída é direta para /dev/shm/some/folder.
Como ele é executado em um servidor em segundo plano, não tenho problemas em desabilitar toda a segurança do mysql, a opçãoarquivo_seguro_privnão está definido no my.ini mas é padrão definido pela versão, como desabilitar a segurança desta pasta?
[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
Responder1
A documentação do mysql emarquivo_seguro_privafirma que a variável é definida como um local padrão do sistema de arquivos específico da plataforma, para torná-la segura por padrão.
Dito isto, você precisa definir explicitamente a variável como uma string vazia em sua configuração para desabilitar esse recurso de segurança.
Para Ubuntu, edite o arquivo /etc/mysql/mysql.conf.d/mysqld.cnf
e adicione a seguinte linha no final:
secure_file_priv=""
Em seguida, certifique-se de reiniciar o serviço.
Responder2
Para mim, adicionar ao final do arquivo acima não funcionou.
Eu adicionei ao /etc/mysql/my.cnf
arquivo na seção [mysqld] e funcionou.
Você pode criar essa seção no arquivo acima e também funcionar, não testei.
Após a reinicialização do servidor, você pode testar, SHOW VARIABLES LIKE "secure_file_priv";
desde que tenha privilégios para fazê-lo.