Maison >base de données >tutoriel mysql >Pourquoi SELECT INTO OUTFILE de MySQL renvoie-t-il le code d'erreur 13 et comment puis-je le corriger ?

Pourquoi SELECT INTO OUTFILE de MySQL renvoie-t-il le code d'erreur 13 et comment puis-je le corriger ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-24 14:46:10875parcourir

Why Does MySQL's SELECT INTO OUTFILE Return Errcode 13, and How Can I Fix It?

Dépannage de MySQL SELECT IN OUTFILE ERRCODE 13

Exporter des données vers un CSV à l'aide de MySQL SELECT INTO OUTFILE peut déclencher une erreur d'autorisation ErrCode 13. Cela se produit généralement lorsque l'emplacement du fichier de sortie n'est pas le répertoire de stockage par défaut de MySQL (souvent /tmp). Les utilisateurs rencontrent fréquemment ce problème lors de l'enregistrement dans d'autres répertoires.

Cette erreur découle de la sécurité du système d'exploitation. Des distributions comme le serveur Ubuntu permettent souvent l'apparmor par défaut, et le profil MySQL pourrait être en mode "appliquer". Cela restreint l'accès en écriture de MySQL à certains répertoires.

pour résoudre ce problème, ajustez le profil Apparmor pour MySQL pour permettre l'écriture à votre répertoire choisi:

  1. Vérifiez le statut de l'Apparmor: Utilisez cette commande pour confirmer le mode d'Apparmor pour mysql:

    <code class="language-bash">sudo aa-status</code>
  2. Modifiez le profil Apparmor (si en mode Enforce): Si Apparmor est en appliquant, modifiez le fichier /etc/apparmor.d/usr.sbin.mysqld. Ajouter ou modifier les lignes accordant un accès en écriture à votre répertoire cible. Par exemple, permettre l'écriture à /data/ et ses sous-répertoires:

    <code>/usr/sbin/mysqld {
        ...
        **/data/ r,
        /data/* rw,
    }</code>
  3. Recharger les profils Apparmor: Après avoir modifié le profil, Reload Apparmor:

    <code class="language-bash">sudo /etc/init.d/apparmor reload</code>

Considérations de sécurité importantes: Offrir un accès en écriture à MySQL nécessite un examen attentif des implications de sécurité. Mettre en œuvre des autorisations robustes et des mesures de sécurité pour empêcher l'accès aux données non autorisées.

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!

Déclaration:
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