GNU/Linux >> Tutoriales Linux >  >> Linux

Error Acceso denegado necesita privilegio de PROCESO [MySQL]

Estaba tratando de hacer una copia de seguridad de la base de datos usando el comando de volcado de MySQL, sin embargo, el comando falló con un mensaje de error 'Error:Acceso denegado; necesita (al menos uno de) los privilegios PROCESS para esta operación' . Aquí está el mensaje de error completo.

$ mysqldump -u dbuser -p tg_db > tg_db.sql
Enter password:
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces

He estado descargando la base de datos de esta manera durante muchos años y el comando falló de repente. ¿Cómo resolví este error? Aquí vamos.

Reparar Error:Acceso denegado; necesita (al menos uno de) los privilegios PROCESS para esta operación

Todo lo que hice fue agregar '--no-tablespaces ‘ opción al comando como se muestra a continuación:

$mysqldump -u dbuser -p tg_db --no-tablespaces > tg_db.sql

Y eso funcionó. Entonces, ¿qué es --no-tablespaces y ¿por qué debo agregar eso?

Bueno, este cambio ocurrió desde la versión 5.7.31+ de MySQL y la versión instalada en mi servidor era la 8.0.23. Según la documentación,

mysqldump requiere al menos el privilegio SELECT para tablas volcadas, SHOW VIEW para vistas volcadas, TRIGGER para disparadores volcados, LOCK TABLES si no se usa la opción –single-transaction, y (a partir de MySQL 8.0.21) PROCESS si –no-tablespaces No se utiliza la opción. Ciertas opciones pueden requerir otros privilegios como se indica en las descripciones de las opciones.

Eche un vistazo a la opción –no-tablespaces también. Esta opción elimina CREATE LOGFILE GROUP y CREATE TABLESPACE declaraciones de la salida.

Pero ¿por qué PROCESS se requiere privilegio para mysqldump ¿dominio? Porque mysqldump intenta acceder a INFORMATION_SCHEMA.FILES tabla que requiere el privilegio PROCESS. Bueno, los privilegios se pueden agregar a través de GRANT a nivel global, o una sola base de datos o tabla. Pero el PROCESS el privilegio debe agregarse a nivel global como se muestra a continuación.

GRANT PROCESS ON *.* TO user@localhost;

¿Por qué no se muestra este error para todos los usuarios? El usuario raíz de MySQL no se ve afectado, obviamente. El comportamiento puede ser diferente para otros usuarios según sus niveles de privilegios.


Linux
  1. Linux – ¿Bloquear el acceso a la red de un proceso?

  2. ERROR:Acceso denegado al intentar acceder al Administrador de archivos en el Panel de control de Plesk

  3. Arreglar el error SSH de permiso denegado (clave pública) en Linux

  4. MySQL - ERROR 1045 - Acceso denegado

  5. ERROR 1045 (28000):Acceso denegado para el usuario 'root'@'localhost' (con contraseña:SÍ)

Cómo resolver un error de MySQL:acceso denegado para el usuario [email protected]

[Resuelto] No se puede acceder al archivo de almacenamiento, Permiso denegado Error en KVM Libvirt

Solución de problemas:MySQL/MariaDB Error #1044 Е Acceso denegado para el usuario

Corrección de HTTP básico:acceso denegado y error de falla de autenticación fatal con GitLab

¿Bloquear el acceso a la red de un proceso?

error de montaje 13 =Permiso denegado