Rencontre avec le code d'erreur 1290, indiquant que le serveur MySQL ne puisse pas exécuter une instruction à cause de l'option --secure-file-priv peut être frustrant. Cet article vise à clarifier la nature de ce problème et à proposer des solutions simples.
Le --secure-file- L'option priv restreint les chemins de répertoire à partir desquels MySQL peut lire les fichiers pendant l'exécution de la requête. Cette mesure améliore la sécurité en empêchant les scripts malveillants d'accéder aux fichiers sensibles du système. Par défaut, cette option est définie sur un répertoire spécifique dans l'installation de MySQL, par exemple /var/lib/mysql-files/.
Considérez les méthodes suivantes pour résoudre l'erreur :
MySQL permet aux utilisateurs de spécifier un répertoire accessible pour les opérations INTRO OUTFILE. Pour déterminer le répertoire désigné, exécutez la commande suivante :
mysql> AFFICHER LES VARIABLES COMME "secure_file_priv";
Une fois que vous avez identifié le répertoire autorisé, utilisez-le dans votre instruction INTO OUTFILE.
Sous Windows, le fichier de configuration le plus courant se trouve dans C:ProgramDataMySQLMySQL Server 5.6my.ini. Dans les distributions Linux, il se trouve généralement dans /etc/my.cnf ou /etc/mysql/my.cnf. Localisez le groupe [mysqld] et ajoutez ou modifiez l'option secure-file-priv avec le chemin de répertoire souhaité.
Dans les environnements hors production, vous devrez peut-être désactiver --secure-file-priv en le définissant sur "". Gardez à l'esprit que cette action affaiblit la sécurité du serveur et doit être abordée avec prudence.
Si la méthode INTO OUTFILE reste problématique, envisagez d'utiliser des techniques alternatives d'exportation de données telles que le vidage de la base de données, l'extraction de données via des API ou l'utilisation d'outils tiers.
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!