Mysql
 sql >> Database >  >> RDS >> Mysql

SELECT INTO OUTFILE autorizzazione negata ma l'utente può scrivere nella directory

Ciò potrebbe essere causato dalle autorizzazioni utente di MySQL.

Come indicato qui https://dba.stackexchange. com/questions/17029/cannot-output-mysql-data-to-file

Per concederti il ​​privilegio FILE, procedi come segue:

  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'utente Linux può scrivere un file. Ma il servizio mysql potrebbe essere bloccato da apparmor.

Controlla questo file:/etc/apparmor.d/usr.sbin.mysqld .

Aggiungi la cartella del tuo progetto lì:

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

Infine, fai un

sudo /etc/init.d/apparmor reload