Mysql
 sql >> Base de données >  >> RDS >> Mysql

Autorisation SELECT INTO OUTFILE refusée mais l'utilisateur peut écrire dans le répertoire

Cela peut être dû aux autorisations des utilisateurs mysql.

Comme indiqué ici https://dba.stackexchange. com/questions/17029/cannot-output-mysql-data-to-file

Pour vous accorder le privilège FILE, procédez comme suit :

  1. service mysql restart --skip-networking --skip-grant-tables
  2. mysql <hit enter>
  3. UPDATE mysql.user SET File_priv = 'Y' WHERE user='lea' AND host='localhost';
  4. exit
  5. service mysql restart

L'utilisateur Linux peut écrire un fichier. Mais le service mysql peut être bloqué par apparmor.

Vérifiez ce fichier :/etc/apparmor.d/usr.sbin.mysqld .

Ajoutez-y votre dossier de projet :

/usr/sbin/mysqld {
    [...]
    /home/datam/xfers/online/ r,
    /home/datam/xfers/online/* rw
    [...]
}

Enfin, faites un

sudo /etc/init.d/apparmor reload