No es posible acceder a PHPMyAdmin debido al error "Access denied"

Refers to:

  • Plesk 12.5 for Linux
  • Plesk 11.0 for Linux
  • Plesk 12.0 for Windows
  • Plesk 12.0 for Linux
  • Plesk 10.x and below for Linux

Created:

2016-11-16 13:04:03 UTC

Modified:

2017-02-22 12:05:17 UTC

1

Was this article helpful?


Have more questions?

Enviar una solicitud

No es posible acceder a PHPMyAdmin debido al error "Access denied"

Síntomas

Cuando se intenta utilizar PHPMyAdmin en Plesk se obtiene el siguiente error:

#1045 - Access denied for user 'pma_xxxxxxx'@'localhost' (using password: YES)

O bien:

Cannot connect: invalid settings.
Connection for controluser as defined in your configuration failed.

No es posible editar la base de datos mediante el interfaz de PhpMyAdmin.

Causa

La causa de esta incidencia es que las credenciales de acceso del usuario presentes en la base de datos y la configuración de phpMyAdmin no coinciden.

Resolución

  1. Compruebe que el usuario PHPMyAdmin aparece en la tabla mysql.user y que su contraseña y sus privilegios son correctos. Encontrará el nombre de usuario y la contraseña en:

  2. $PRODUCT_ROOT_D/admin/htdocs/domains/databases/phpMyAdmin/libraries/config.default.php en Plesk 8.1, 8.2, 8.3, 8.4

  3. /usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/config.default.php en Plesk 12.5

Por ejemplo:

    ~# grep controluser /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/config.default.php
$cfg['Servers'][$i]['controluser'] = $GLOBALS['db_host'] != 'localhost' ? '' : 'USER';
~#
~# grep controlpass /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/config.default.php
$cfg['Servers'][$i]['controlpass'] = 'PASSWORD';
~#
~# grep pmadb /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/config.default.php
$cfg['Servers'][$i]['pmadb'] = $GLOBALS['db_host'] != 'localhost' ? '' : 'DATABASE'; // Database used for Relation,
~#

Intente acceder a MySQL como este usuario a través de la línea de comandos:

    ~#mysql -uUSER -pPASSWORD DATABASE
  1. Actualice la tabla mysql.user y establezca PASSWORD como la contraseña para USER .

  2. Si este usuario no existe en MySQL, créelo ejecutando los siguientes comandos:

        #mysql -uadmin -p`cat /etc/psa/.psa.shadow`
    mysql> INSERT INTO `db` VALUES ('localhost','DATABASE','USER','Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','N');
    mysql> INSERT INTO `user` VALUES ('localhost','USER',password('PASSWORD'),'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0,0);
    mysql> flush privileges;
  3. Si el usuario ya existe, actualice la contraseña con el valor correcto:

        mysql> SET PASSWORD for 'USER'@'localhost' = password('PASSWORD');
    mysql> flush privileges;

Consulte este artículo de nuestra base de conocimiento para descubrir cómo corregir la incidencia con los usuarios de la base de datos.

¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.