GNU/Linux >> Tutoriales Linux >  >> Linux

Permiso SELECCIONAR EN OUTFILE denegado pero el usuario puede escribir en el directorio

Esto puede deberse a los permisos de usuario de mysql.

Como se indica aquí https://dba.stackexchange.com/questions/17029/cannot-output-mysql-data-to-file

Para otorgarse el privilegio de ARCHIVO, haga lo siguiente:

  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

El usuario de Linux puede escribir un archivo. Pero apparmor puede bloquear el servicio mysql.

Revisa este archivo:/etc/apparmor.d/usr.sbin.mysqld .

Agregue su carpeta de proyecto allí:

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

Finalmente, haz un

sudo /etc/init.d/apparmor reload

En los sistemas modernos, mariaDB y mysql se instalan con soporte systemd. Entre otras cosas, tiene esta configuración en /etc/systemd/system/mysql.service:

Impedir el acceso a /home, /root y /run/user

ProtectHome=verdadero

Eso es lo que impide que escriba en /home.


Linux
  1. ¿La diferencia entre usuario y cuenta de servicio?

  2. ¿Por qué el usuario raíz necesita permiso de Sudo?

  3. Python:no existe tal archivo o directorio, ¡pero puedo verlo!?

  4. ¿Cuál es el propósito del usuario “mysql.sys@localhost”?

  5. cd en el directorio sin tener permiso

Cómo MySQL:crear un usuario y otorgar permiso a una base de datos

SELinux:¡No se puede escribir en el directorio "Config"! [Nube propia]

¿Permiso de Sudo denegado pero Su otorga permiso?

REVISIÓN:MySQL - Comando SELECCIONAR denegado al usuario

permiso de escritura denegado a través de filezilla sftp a /var/www/html

¿No puede encontrar .so en el mismo directorio que el ejecutable?