DBAtlas · Atlas de operaciones de bases de datos

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.

Abrir en DBAtlas →

Más entradas de este motor