Maison > base de données > tutoriel mysql > le corps du texte

Comment réparer \'Code d'erreur : 1290. Le serveur MySQL s'exécute avec l'option --secure-file-priv...\' ?

Linda Hamilton
Libérer: 2024-10-26 07:19:03
original
356 Les gens l'ont consulté

How to Fix

Erreur rencontrée : privilèges de fichiers sécurisés du serveur MySQL restreignant l'exécution de l'instruction

Vous avez rencontré l'erreur « Code d'erreur : 1290. Le serveur MySQL s'exécute avec l'option --secure-file-priv, il ne peut donc pas exécuter cette instruction" lors de la tentative d'exécution d'une instruction MySQL qui implique l'utilisation de la commande INTO OUTFILE.

Cause de l'erreur :

L'option secure-file-priv limite les répertoires dans lesquels MySQL peut écrire des fichiers pour améliorer la sécurité. Par défaut, cette option empêche MySQL d'écrire dans des répertoires externes.

Solution immédiate (changement sans configuration) :

Une solution rapide pour résoudre ce problème consiste à identifier le répertoire dans lequel MySQL est autorisé à écrire des fichiers :

<code class="sql">mysql> SHOW VARIABLES LIKE "secure_file_priv";</code>
Copier après la connexion

Une fois que vous avez identifié le répertoire autorisé, modifiez votre instruction INTO OUTFILE pour utiliser ce répertoire comme cible :

<code class="sql">SELECT *
FROM xxxx
WHERE XXX
INTO OUTFILE '/var/lib/mysql-files/report.csv'
    FIELDS TERMINATED BY '#'
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'</code>
Copier après la connexion

Solution permanente (changement de configuration) :

Windows :

  1. Accédez aux paramètres du service MySQL dans les services Windows.
  2. Ouvrez le fichier "my.ini" spécifié dans la section "Paramètres du service".
  3. Localisez le groupe "[mysqld]" et ajoutez ou modifiez l'option "secure-file-priv" pour spécifiez le répertoire autorisé. Par exemple :

    <code class="ini">[mysqld]
    secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.6/Uploads"</code>
    Copier après la connexion
  4. Redémarrez le service MySQL.

Linux :

  1. Ouvrez la configuration MySQL fichier, généralement situé dans "/etc/my.cnf" ou "/etc/mysql/my.cnf".
  2. Localisez le groupe "[mysqld]" et ajoutez ou modifiez le "secure- file-priv" pour spécifier le répertoire autorisé. Par exemple :

    <code class="ini">[mysqld]
    secure-file-priv="/var/lib/mysql-files/"</code>
    Copier après la connexion
  3. Redémarrez le service MySQL.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!