Acceso a la base de datos MySQL denegado para el usuario

Created:

2016-11-16 13:13:03 UTC

Modified:

2017-07-01 19:46:06 UTC

0

Was this article helpful?


Have more questions?

Enviar una solicitud

Acceso a la base de datos MySQL denegado para el usuario

Applicable to:

  • Plesk 12.0 for Linux
  • Plesk 11.5 for Windows
  • Odin Service Automation

Síntomas


El usuario MySQL no puede conectarse a la base de datos. El intento de conexión resulta fallido y devuelve el mensaje de error Acceso denegado :
# mysql -h ServerName -u UserName -pPassword DatabaseName
Access denied for user 'UserName@UserIPAddress'


Causa


El usuario MySQL no dispone del permiso necesario para acceder a la base de datos o su contraseña no es correcta.

Resolución


A continuación puede consultar los pasos a realizar para resolver el error ' Acceso denegado '.

1. Compruebe que la contraseña del usuario MySQL es correcta. La mejor forma para realizar esta comprobación es establecer una contraseña nueva para el usuario de la base de datos:

Panel de control del cliente > seleccionar suscripción > cambiar a la página de administración de bases de datos > Bases de datos > seleccionar la base de datos > cambiar a la subpestaña Usuarios > seleccionar el usuario y establecer una contraseña nueva

A continuación, compruebe si el usuario puede conectarse a la base de datos.

2. Acceda al servidor MySQL bajo el usuario con permisos administrativos y compruebe las concesiones para el usuario en cuestión mediante el siguiente comando:
mysql> show grants for '<UserName>';
+------------------------------------------------------------------------------------------------------+
| Grants for UserName@%                                                                           |
+------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'UserName'@'%' IDENTIFIED BY PASSWORD 'UserPasswordHash' |
+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

3. Verifique que el usuario dispone de permisos para acceder a la base de datos:
mysql> use mysql;
mysql> select Host, Db, User from db where User='<UserName>';
+------+----------------+---------------+
| Host | Db             | User          |
+------+----------------+---------------+
|      | DatabaseName | UserName |
+------+----------------+---------------+
1 row in set (0.00 sec)


Nota: reemplace <UserName> en las queries de arriba por el nombre exacto del usuario que experimenta el problema.
¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.