1227: Access denied; you need (at least one of) the PRIVILEGE (acceso denegado; se necesita el privilegio)
MySQL¿Qué significa?
El usuario carece del privilegio necesario para la operación que intenta realizar. La operación requiere un derecho que va más allá de los permisos concedidos a la cuenta.
¿Por qué ocurre?
Falta un privilegio administrativo como SUPER, PROCESS, RELOAD o CREATE USER; no se concedió el permiso necesario para leer una vista/tabla global; una operación concreta (SET GLOBAL, acceso al binlog) que requiere privilegios elevados.
Cómo solucionarlo
Vea los privilegios actuales: SHOW GRANTS FOR CURRENT_USER(); Otorgue el permiso necesario con una cuenta privilegiada: GRANT PROCESS ON *.* TO 'app_user'@'host'; (GRANT surte efecto de inmediato; no se necesita FLUSH PRIVILEGES). Cuando sea posible, use privilegios dinámicos (p. ej., SYSTEM_VARIABLES_ADMIN) en lugar de SUPER. Siga el principio de mínimo privilegio.
Más entradas de este motor
- 1091Can't DROP 'x'; check that column/key exists (no se puede hacer DROP; compruebe que existe la columna/clave)
- 1093You can't specify target table 'x' for update in FROM clause (no se puede usar la tabla de destino del update en FROM)
- 1305PROCEDURE does not exist (el procedimiento no existe)
- 3730Cannot drop table referenced by a foreign key constraint (no se puede eliminar una tabla referenciada por una clave foránea)
- 2013Lost connection to MySQL server during query (se perdió la conexión con el servidor MySQL durante la consulta)
- 1153Got a packet bigger than 'max_allowed_packet' bytes (paquete mayor que max_allowed_packet)
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded) (ejecución de la consulta interrumpida)