Maison > Article > base de données > Comment corriger l'erreur MySQL 1290 : « Impossible de créer/écrire dans un fichier » lors de l'utilisation de INTO OUTFILE ?
Privilèges de fichiers sécurisés MySQL : résolution de l'erreur 1290 lors de l'écriture dans des fichiers
L'option --secure-file-priv de MySQL restreint l'exécution des instructions qui écrivent dans des fichiers. Cette erreur se produit lors de la tentative d'écriture des résultats d'une requête dans un fichier à l'aide de la clause INTO OUTFILE alors que cette option est activée.
Solution :
Rechercher les chemins d'écriture autorisés
Vérifiez la valeur de la variable système @@GLOBAL.secure_file_priv pour déterminer les répertoires dans lesquels MySQL est autorisé à écrire des fichiers :
<code class="sql">SELECT @@GLOBAL.secure_file_priv;</code>
Ubuntu 16.04 : Écrivez dans le chemin spécifié, par exemple :
<code class="sql">SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';</code>
Mac OSX (MAMP) :
Créez un fichier .my.cnf :
Désactiver les privilèges de fichiers sécurisés (non recommandé) :
Définissez la variable système @@GLOBAL.secure_file_priv sur NULL :
<code class="sql">SET GLOBAL secure_file_priv=NULL;</code>
Remarque : Cette méthode risque de permettre à du code non fiable d'écrire à des emplacements arbitraires sur le serveur. Il ne doit être utilisé qu’à titre temporaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!