web-dev-qa-db-fra.com

Comment désactiver secure-file-priv MySQL Ubuntu

Les gars J'ai une application qui utilise SELECT OUTFILE comme cache pour une autre application, donc elle sort directement dans/dev/shm/some/folder.

Comme il fonctionne sur un serveur d'arrière-plan, je n'ai aucun problème à désactiver toute la sécurité mysql, l'option secure_file_priv n'est pas définie dans le fichier my.ini, mais par défaut défini par la version, comment désactiver la sécurité de ce dossier?

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

La documentation mysql sur secure_file_priv indique que la variable est définie sur un emplacement par défaut du système de fichiers propre à la plate-forme, afin de la sécuriser par défaut.

Cela dit, vous devez définir explicitement la variable sur une chaîne vide dans votre configuration pour désactiver cette fonctionnalité de sécurité.

Pour Ubuntu, éditez le fichier /etc/mysql/mysql.conf.d/mysqld.cnf et ajoutez la ligne suivante à la fin:

secure_file_priv=""

Assurez-vous ensuite de redémarrer le service.

24
antoinet

Pour moi, ajouter à la fin du fichier ci-dessus n'a pas fonctionné.

Je l'ai ajouté au fichier /etc/mysql/my.cnf dans la section [mysqld] et cela a fonctionné.

Vous pourrez peut-être créer cette section dans le fichier ci-dessus et cela fonctionne également, je ne l'ai pas testée.

Après le redémarrage du serveur, vous pouvez tester avec SHOW VARIABLES LIKE "secure_file_priv"; à condition que vous ayez le droit de le faire.

2
7UpMan