Article ID: 1869, created on Mar 16, 2009, last review on May 9, 2014

  • Applies to:
  • Plesk for Linux/Unix

Síntomas

Cuando intenta acceder a una base de datos, PHPMyAdmin devuelve el siguiente error:

Non-static method PMA_Config::isHttps() should not be called statically

Causa

PHPMyAdmin en Parallels Plesk Panel accede a la base de datos usando las credenciales de los usuarios de esta base de datos. Si el nombre de usuario o la contraseña no coinciden con los registros presentes en la db 'mysql', se devolverá el error mencionado arriba.

Resolución

Para comprobar el usuario/contraseña, puede intentar establecer una conexión MySQL desde la línea de comandos en el servidor, por ejemplo:

~# mysql -uDB_USER -pDB_PASSWORD -D DB_NAME
ERROR 1045 (28000): Access denied for user 'USERNAME'@'localhost' (using password: YES)

Este error significa que el usuario de la base de datos no puede acceder a este debido a una contraseña incorrecta o debido a que no dispone de permisos suficientes para conectar con esta base de datos.
Puede restaurar la contraseña y los permisos para este usuario a través del interfaz de Parallels Plesk Panel actualizando la página Dominios -> DOMINIO -> Bases de Datos -> DB_NAME -> DB_USER.

Si el problema persiste una vez restaurada la contraseña, compruebe que no existe ningún usuario mysql vacío. De existir, elimine dicho usuario.

mysql> select Host, User from mysql.user where User='';
+----------------------+------+
| Host                 | User |
+----------------------+------+
| yourdomain.com       |      |
| localhost            |      |
+----------------------+------+
2 rows in set (0.00 sec)

mysql> delete from mysql.user where User='';
Query OK, 2 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql>

Tal y como se explica en el manual de MySQL disponible en:
http://dev.mysql.com/doc/refman/5.1/en/access-denied.html

Un error muy frecuente es insertar una entrada nueva con Host='%' y User='some_user', creyendo que esto le permite indicar que localhost se conecte desde la misma máquina. La razón por la que esto no funciona es que los privilegios predeterminados incluyen una entrada con Host='localhost' y User=''. Como esta entrada tiene un valor de Host 'localhost' que es más específica que '%', esta tiene preferencia sobre la entrada nueva a la hora de conectarse desde localhost! El procedimiento correcto es insertar una segunda entrada con Host='localhost' y User='some_user' o bien eliminar la entrada con Host='localhost' y User=''. Una vez eliminada la entrada, no olvide emitir una instrucción FLUSH PRIVILEGES para volver a cargar las tablas grant.

29d1e90fd304f01e6420fbe60f66f838 a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF