Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Permissão SELECT INTO OUTFILE negada, mas o usuário pode gravar no diretório


Isso pode ser causado por permissões de usuário do mysql.

Conforme declarado aqui https://dba.stackexchange. com/questions/17029/cannot-output-mysql-data-to-file

Para conceder a si mesmo o privilégio FILE, faça o seguinte:
  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

O usuário linux pode escrever um arquivo. Mas o serviço mysql pode estar bloqueado pelo apparmor.

Verifique este arquivo:/etc/apparmor.d/usr.sbin.mysqld .

Adicione a pasta do seu projeto lá:
/usr/sbin/mysqld {
    [...]
    /home/datam/xfers/online/ r,
    /home/datam/xfers/online/* rw
    [...]
}

Por fim, faça um
sudo /etc/init.d/apparmor reload