1045: Access denied for user (using password: YES/NO) (acceso denegado para el usuario)
MySQL¿Qué significa?
Falló la autenticación para el nombre de usuario, la contraseña o el host desde el que se conecta; se rechazó el inicio de sesión.
¿Por qué ocurre?
Contraseña incorrecta, el usuario no tiene privilegios desde el host desde el que se conecta (user@host), la cuenta no existe, una discrepancia de plugin de autenticación (caching_sha2_password frente a mysql_native_password) o credenciales obsoletas en la cadena de conexión.
Cómo solucionarlo
Compruebe la correspondencia entre usuario y host: SELECT user, host, plugin FROM mysql.user. Otorgue privilegios para el host correcto (p. ej., 'app_user'@'%'). Restablezca la contraseña: ALTER USER 'app_user'@'host' IDENTIFIED BY 'new_password'; (ALTER USER/GRANT surten efecto de inmediato; FLUSH PRIVILEGES solo es necesario si las tablas de grants se modificaron directamente con DML). Si ve 'using password: NO', el cliente no está enviando ninguna contraseña. Para discrepancias de plugin, revise el plugin de autenticación: en MySQL 8.4 el plugin mysql_native_password está deshabilitado por defecto (solo se carga con --mysql-native-password=ON); las cuentas antiguas que usan este plugin y los clientes antiguos no pueden conectarse. Migre la cuenta con ALTER USER ... IDENTIFIED WITH caching_sha2_password BY '...'; y actualice el driver del cliente.
Más entradas de este motor
- 1062Duplicate entry for key (entrada duplicada para la clave)
- 1213Deadlock found when trying to get lock; try restarting transaction (deadlock al obtener el bloqueo; reinicie la transacción)
- 1205Lock wait timeout exceeded; try restarting transaction (se superó el tiempo de espera de bloqueo; reinicie la transacción)
- 1040Too many connections (demasiadas conexiones)