Cómo deshabilitar secure-file-priv MySQL Ubuntu

17

Chicos, tengo una aplicación que usa SELECT OUTFILE para usarla como caché para otra aplicación, por lo que sale directamente a la carpeta / dev / shm / some /.

Como se ejecuta en un servidor en segundo plano, no tengo ningún problema para deshabilitar toda la seguridad de mysql, la opción secure_file_priv no está configurada en my.ini pero está configurada por defecto por la versión, ¿cómo deshabilitar la seguridad de esta carpeta?

[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
Diogo Paim
fuente

Respuestas:

29

La documentación de mysql en secure_file_priv establece que la variable se establece en una ubicación predeterminada del sistema de archivos específico de la plataforma, para que sea segura de manera predeterminada.

Dicho esto, debe establecer explícitamente la variable en una cadena vacía en su configuración para deshabilitar esta característica de seguridad.

Para Ubuntu, edite el archivo /etc/mysql/mysql.conf.d/mysqld.cnfy agregue la siguiente línea al final:

secure_file_priv=""

Luego, asegúrese de reiniciar el servicio.

antoinet
fuente
¡¡Gracias!! En realidad, he hecho una solución usando solo "/" en lugar de la ruta, suponiendo que cada ruta iba a estar dentro de ella.
Diogo Paim
2

Para mí, agregar al final del archivo anterior no funcionó.

Lo agregué al /etc/mysql/my.cnfarchivo en la sección [mysqld] y funcionó.

Es posible que pueda crear esa sección en el archivo anterior y también funciona, no lo probé.

Después de reiniciar el servidor, puede probar con SHOW VARIABLES LIKE "secure_file_priv";tal de que tenga priveleve para hacerlo.

7UpMan
fuente
3
Esto es realmente un comentario y no una respuesta a la pregunta original. Siempre puedes comentar tus propias publicaciones, y una vez que tengas suficiente reputación podrás comentar cualquier publicación . Lea ¿Por qué necesito 50 reputación para comentar? ¿Qué puedo hacer en su lugar?
DavidPostill