🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Access denied for user' en PHPMyAdmin

Actualizado el 10 de enero de 2026

¿Qué significa el error "Access denied for user" en PHPMyAdmin?

Si estás leyendo esto, probablemente te has encontrado con un mensaje similar a este: "Access denied for user 'usuario'@'localhost' (using password: YES)" o alguna variante. Este error es uno de los más comunes cuando trabajamos con bases de datos, y aunque puede parecer alarmante, la buena noticia es que tiene solución en la gran mayoría de los casos.

Este mensaje indica que PHPMyAdmin (la herramienta que usas para gestionar tus bases de datos desde el navegador) no ha podido conectarse al servidor MySQL o MariaDB porque las credenciales que se están utilizando no son correctas o no tienen los permisos necesarios.

En este artículo, te voy a explicar paso a paso cómo solucionar este error, tanto si usas cPanel, Plesk, o incluso si tu hosting es más artesanal. No necesitas ser un experto, solo seguir las instrucciones con calma.

Causas más comunes del error "Access denied"

Antes de lanzarnos a solucionar el problema, es importante entender por qué ocurre. Las causas más frecuentes son:

  1. Contraseña incorrecta: El usuario o la contraseña de la base de datos no coinciden con lo que PHPMyAdmin está intentando usar.
  2. Usuario no existe: El usuario de la base de datos ha sido eliminado o nunca se creó correctamente.
  3. Permisos insuficientes: El usuario no tiene privilegios para acceder a la base de datos específica que intentas abrir.
  4. Configuración incorrecta en el archivo config.inc.php: PHPMyAdmin tiene un archivo de configuración donde se guardan las credenciales. Si están mal escritas, fallará.
  5. Problemas con el servidor MySQL: A veces el servicio está caído o tiene problemas de conexión.
  6. Uso de contraseñas con caracteres especiales: Si tu contraseña contiene símbolos como #, $ o %, puede que se estén interpretando mal.

Solución paso a paso para cPanel

Si tu hosting usa cPanel, este es el método más directo. Sigue estos pasos:

1. Accede a cPanel y verifica tus credenciales

Lo primero es entrar en tu cPanel. Una vez dentro:

  • Busca la sección Bases de Datos y haz clic en Base de Datos MySQL.
  • Verás una lista de tus bases de datos y los usuarios asociados.
  • Anota el nombre exacto de la base de datos y del usuario. En cPanel, suelen tener un prefijo como usuario_nombrebasededatos.

[!TIP]
Asegúrate de que el nombre de la base de datos y el usuario coinciden exactamente con lo que tienes en tu aplicación. Un error de una letra es suficiente para que salte el "Access denied".

2. Cambia la contraseña del usuario

Si sospechas que la contraseña es incorrecta, lo más fácil es cambiarla:

  • En la misma sección de Base de Datos MySQL, busca el usuario y haz clic en Cambiar contraseña.
  • Introduce una contraseña nueva y segura. Evita caracteres extraños si puedes, como @ o #, para evitar problemas de escape.
  • Anota la nueva contraseña y actualízala también en el archivo de configuración de tu aplicación (por ejemplo, wp-config.php en WordPress).

[!WARNING]
Si cambias la contraseña, debes actualizarla en TODOS los sitios que usen esa base de datos. De lo contrario, seguirás viendo el error.

3. Añade el usuario a la base de datos

A veces el usuario existe, pero no está vinculado a la base de datos. Para solucionarlo:

  • En Base de Datos MySQL, baja hasta la sección Añadir usuario a la base de datos.
  • Selecciona el usuario y la base de datos.
  • Marca la casilla Todos los privilegios (o al menos los que necesites).
  • Haz clic en Hacer cambios.

4. Verifica la conexión desde PHPMyAdmin

Una vez hecho esto, intenta acceder de nuevo a PHPMyAdmin. Si el problema persiste, puede que el error esté en la configuración de PHPMyAdmin en sí.


Solución para Plesk

Si tu hosting usa Plesk, el proceso es similar pero con algunas diferencias:

1. Ve a la sección de bases de datos

  • Entra en Plesk y busca el apartado Bases de Datos en el menú de tu dominio.
  • Verás la lista de bases de datos y los usuarios asociados.

2. Comprueba los permisos

  • Haz clic en el nombre de la base de datos para abrir sus detalles.
  • En la pestaña Usuarios, verás los usuarios que tienen acceso.
  • Si no está el usuario que necesitas, haz clic en Añadir Usuario y configura los permisos.

3. Cambia la contraseña

  • Si el usuario existe pero la contraseña no funciona, haz clic en el icono de Cambiar contraseña.
  • Introduce una nueva y guarda los cambios.

[!INFO]
En Plesk, los nombres de usuario y bases de datos suelen tener el formato nombre_dominio_nombrebasededatos. Asegúrate de usar ese nombre completo en tu configuración.


Solución manual: editar el archivo config.inc.php

Si el error persiste después de verificar las credenciales, puede que el problema esté en el archivo de configuración de PHPMyAdmin. Este archivo se llama config.inc.php y normalmente está en la raíz de la instalación de PHPMyAdmin.

1. Localiza el archivo

  • Accede a tu servidor por FTP o mediante el administrador de archivos de tu panel.
  • Busca la carpeta de PHPMyAdmin (suele llamarse phpmyadmin).
  • Abre el archivo config.inc.php.

2. Revisa las líneas de conexión

Busca las líneas que contienen:

$cfg['Servers'][$i]['user'] = 'tu_usuario';
$cfg['Servers'][$i]['password'] = 'tu_contraseña';
  • Asegúrate de que el usuario y la contraseña son correctos.
  • Si no hay usuario o contraseña definidos, PHPMyAdmin te pedirá las credenciales al entrar, lo cual suele ser más seguro.

[!WARNING]
Nunca dejes contraseñas en texto plano en este archivo si es un servidor de producción. Es mejor usar la autenticación por cookie o por formulario.

3. Guarda y prueba

Guarda los cambios y vuelve a intentar acceder a PHPMyAdmin. Si el error era por una contraseña mal configurada, esto lo resolverá.


¿Y si uso Syspanel (HestiaCP)?

Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso a PHPMyAdmin se hace desde el puerto 2106. Por ejemplo, si tu dominio es tudominio.com, la URL sería:

https://tudominio.com:2106

Pasos para solucionar el error en Syspanel:

  1. Accede al panel de Syspanel con tu usuario y contraseña de administrador.
  2. Ve a la sección Bases de Datos.
  3. Verás la lista de bases de datos y usuarios. Comprueba que el usuario que usas existe y tiene permisos.
  4. Si necesitas cambiar la contraseña, haz clic en el icono de edición y modifícala.
  5. Asegúrate de que tu aplicación usa el nombre completo de la base de datos y el usuario (en Syspanel suelen tener el formato usuario_basededatos).

[!TIP]
Si acabas de crear una base de datos en Syspanel, a veces tarda unos segundos en propagarse. Espera un par de minutos antes de intentar conectarte.


Errores comunes y su solución rápida

A veces, el error "Access denied" viene acompañado de otros detalles. Aquí tienes una tabla con los casos más típicos y su solución:

ErrorCausa probableSolución
Access denied for user 'root'@'localhost'Estás usando el usuario root sin contraseña o con contraseña incorrectaCrea un usuario específico para tu base de datos en lugar de usar root
Access denied for user 'admin'@'localhost' (using password: NO)No estás enviando contraseñaAñade la contraseña en la configuración o en el formulario de acceso
Access denied for user 'usuario'@'localhost' (using password: YES)La contraseña es incorrectaCambia la contraseña del usuario en tu panel de control
Access denied for user 'usuario'@'%'El usuario no tiene permisos para conectarse desde cualquier hostAsegúrate de que el host del usuario sea localhost o % según necesites

Consejos para evitar este error en el futuro

  1. Usa un gestor de contraseñas: Así evitarás escribir mal contraseñas largas o con caracteres especiales.
  2. Anota los nombres exactos: Las bases de datos y usuarios tienen prefijos que a veces se confunden. Cópialos siempre.
  3. Actualiza las contraseñas en todos los sitios: Si cambias una contraseña, hazlo también en tu aplicación (WordPress, Joomla, etc.).
  4. No uses el usuario root para tus aplicaciones: Crea un usuario con permisos limitados solo a la base de datos que necesites.
  5. Revisa los logs de MySQL: Si todo falla, mira los registros del servidor para ver el error exacto. Suelen estar en /var/log/mysql/error.log o similares.

Preguntas frecuentes (FAQ)

¿Puedo solucionar este error sin acceso al panel de control?

Si no tienes acceso a cPanel, Plesk o Syspanel, necesitarás contactar con tu proveedor de hosting. Ellos podrán verificar las credenciales y restablecerlas por ti.

¿Por qué me pide contraseña si nunca la he puesto?

Es posible que tu hosting tenga configurada la autenticación por defecto. Intenta dejar el usuario en blanco o pon root con contraseña vacía. Si no funciona, contacta con soporte.

¿Qué hago si el error aparece solo en una base de datos concreta?

Eso indica que el problema es específico de esa base de datos. Revisa que el usuario tenga permisos sobre ella y que el nombre esté bien escrito.

¿Puede ser un problema del servidor?

Sí, a veces MySQL se reinicia o tiene un fallo temporal. Prueba a esperar unos minutos y reintentar. Si el error es generalizado, contacta con tu hosting.


Resumen final

El error "Access denied for user" en PHPMyAdmin es molesto, pero casi siempre se soluciona revisando las credenciales y los permisos del usuario. Tanto en cPanel, Plesk como en Syspanel (recuerda: puerto 2106), los pasos son similares: verificar que la base de datos y el usuario existen, que la contraseña es correcta y que el usuario tiene los privilegios necesarios.

Si has seguido todos los pasos de esta guía y el error persiste, no dudes en contactar con el soporte técnico de tu proveedor. Ellos tienen acceso directo al servidor y podrán diagnosticar el problema en cuestión de minutos.

[!INFO]
Recuerda: la paciencia es clave. Muchas veces el error es un simple despiste con una letra o un símbolo. Revisa dos veces antes de rendirte.

Espero que esta guía te haya sido de ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Buena suerte con tus bases de datos!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel