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

Cómo solucionar el error 'Access denied for user' en bases de datos de Syspanel

Actualizado el 2 de junio de 2026

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

Cuando intentas conectar tu aplicación web (WordPress, PrestaShop, una web hecha a medida, etc.) a su base de datos MySQL, puede aparecer un error que dice algo así: "Access denied for user 'usuario'@'localhost' (using password: YES)" o similar.

Este mensaje, aunque parezca sacado de una película de hackers, es muy común y tiene una explicación sencilla: el servidor de bases de datos MySQL está rechazando la conexión porque las credenciales (usuario y contraseña) o los permisos no son correctos.

Piensa en ello como si intentaras entrar en tu casa con una llave equivocada. La cerradura (MySQL) no abre y te dice "Acceso denegado". No significa que tu casa esté rota, solo que la llave no es la correcta.

En el contexto de Syspanel (nuestro panel de control con acceso por el puerto 2106), este error suele aparecer al configurar una aplicación, al migrar una web o al intentar acceder a la base de datos desde un script. No te preocupes, en esta guía extensa y paso a paso vamos a desglosar todas las causas posibles y, lo más importante, cómo solucionarlas de forma definitiva.

Causas más comunes del error "Access denied for user MySQL"

Antes de lanzarnos a solucionar, es fundamental entender por qué ocurre. En la mayoría de los casos, el problema se debe a una de estas cinco razones:

  1. Contraseña incorrecta: Es la causa más frecuente. Puede que al crear la base de datos o el usuario, la contraseña se copiara con un espacio extra, o que simplemente la hayas olvidado o cambiado recientemente.
  2. Usuario incorrecto: El nombre de usuario de la base de datos no coincide con el que has puesto en el archivo de configuración de tu web (por ejemplo, en el wp-config.php de WordPress).
  3. Privilegios MySQL Syspanel insuficientes: El usuario existe, pero no tiene permisos para acceder a esa base de datos concreta. Es como tener una llave que abre el portal pero no el piso.
  4. Servidor de destino equivocado: Has configurado el host como localhost pero el servidor MySQL está en otra dirección (o viceversa). A veces, por seguridad, se usa 127.0.0.1 o un nombre de host específico.
  5. Cache de conexiones o conexiones antiguas: Aunque menos común, a veces un plugin o un script guarda credenciales antiguas en memoria y no se actualizan hasta que se reinicia el servicio.

Preparación: Accede a tu panel Syspanel

Para cualquier solución, primero necesitas entrar en tu panel de control. Recuerda que el acceso a Syspanel se realiza a través de la URL https://tu-dominio.com:2106 (el puerto 2106 es el que utiliza Syspanel, no lo olvides). Inicia sesión con tu usuario administrador.

Una vez dentro, busca la sección de "Bases de Datos" o "Base de datos MySQL" en el menú lateral. Ahí verás un listado de todas tus bases de datos y los usuarios asociados a ellas.


Solución 1: Verificar y restablecer la contraseña (La más rápida)

Esta es la primera prueba que debes hacer. Muchas veces el error access denied user MySQL se debe a un simple error tipográfico al copiar la contraseña.

Paso a paso

  1. En la sección de Bases de Datos de Syspanel, localiza la base de datos que te da problemas.
  2. Busca el usuario asociado a esa base de datos. Normalmente aparece en la misma fila o en una subsección.
  3. Haz clic en el icono de "Editar" o "Cambiar contraseña" (suele ser un lápiz o una llave).
  4. Genera una contraseña nueva o escribe una manualmente. Recomiendo usar el generador automático que ofrece Syspanel, ya que crea contraseñas muy seguras y evita errores de escritura.
  5. Guarda los cambios.
  6. Actualiza el archivo de configuración de tu aplicación con la nueva contraseña.

[!TIP]
TIP: Si estás usando WordPress, el archivo a modificar es wp-config.php. Búscalo en la raíz de tu sitio y cambia la línea que dice define('DB_PASSWORD', 'aquí_tu_nueva_contraseña');.


Solución 2: Comprobar el nombre de usuario y el host

A veces la contraseña es correcta, pero el usuario no es el que esperamos. En Syspanel, los usuarios de bases de datos suelen tener un prefijo, por ejemplo admin_base1. Si en tu archivo de configuración has puesto base1 sin el prefijo, te dará este error.

Verificación

  1. Ve a la lista de bases de datos en Syspanel.
  2. Anota exactamente el nombre del usuario que aparece junto a la base de datos.
  3. Revisa tu archivo de configuración (.env, wp-config.php, config.php, etc.) y asegúrate de que el campo DB_USER o DB_USERNAME coincide al 100% (respetando mayúsculas y minúsculas).

Sobre el host

El error también puede mencionar @localhost o @'%'. En la mayoría de los casos en Syspanel, el host debe ser localhost. Sin embargo, si tu aplicación está en un servidor separado a la base de datos, necesitarás el host remoto que te indica Syspanel.

[!WARNING]
WARNING: Cambiar el host de localhost a 127.0.0.1 a veces soluciona problemas de resolución DNS, pero no es lo habitual. Si no estás seguro, deja localhost.


Solución 3: Asignar los privilegios MySQL Syspanel correctos

Esta es la solución técnica más importante. Es posible que el usuario exista y la contraseña sea correcta, pero que no tenga permisos para actuar sobre la base de datos. Esto se conoce como privilegios MySQL Syspanel.

En Syspanel, al crear una base de datos, a veces se crea el usuario sin marcar la casilla de "Todos los privilegios" o solo se le dan permisos de lectura (SELECT) pero no de escritura (INSERT, UPDATE). Para solucionarlo:

Paso a paso

  1. Accede a la sección de Bases de Datos en Syspanel.
  2. Haz clic en el nombre de la base de datos problemática para entrar en sus detalles.
  3. Busca la pestaña o sección de "Usuarios" o "Permisos".
  4. Verás una tabla con los usuarios y una serie de casillas de verificación (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
  5. Marca la casilla "ALL PRIVILEGES" (o "Todos los privilegios") para dar acceso total al usuario sobre esa base de datos. Si no existe esa opción, marca todas las casillas manualmente.
  6. Guarda los cambios.

[!INFO]
INFO: Dar "Todos los privilegios" es necesario para que aplicaciones como WordPress puedan crear tablas y modificar datos. Si solo le das permisos de lectura, verás el error de acceso denegado al intentar instalar la web.


Solución 4: Crear un nuevo usuario y asignarlo a la base de datos

Si las soluciones anteriores no funcionan, la opción más rápida y limpia es crear un usuario nuevo desde cero y vincularlo a la base de datos. Esto descarta cualquier error heredado de la configuración anterior.

Paso a paso

  1. En Syspanel, ve a la sección de Bases de Datos.
  2. Haz clic en "Añadir Usuario" (o similar).
  3. Crea un nombre de usuario único (ej. admin_nuevo_web) y una contraseña segura.
  4. Una vez creado, edita la base de datos problemática.
  5. En la sección de usuarios, añade el nuevo usuario a la lista.
  6. Asegúrate de marcar "Todos los privilegios" para este nuevo usuario.
  7. Actualiza tu aplicación con estos nuevos datos (usuario y contraseña).

Este método es infalible porque se generan credenciales limpias y se asignan los permisos de forma explícita.


Solución 5: Solucionar el error en WordPress específicamente

Si tu web es WordPress, el error error base de datos Syspanel suele aparecer en la pantalla de instalación o al intentar conectar. Además de lo anterior, hay un paso extra:

Revisar el archivo wp-config.php

  1. Accede a tu servidor por FTP o mediante el Administrador de Archivos de Syspanel.
  2. Abre el archivo wp-config.php.
  3. Busca estas líneas y verifica que son correctas:
define('DB_NAME', 'nombre_de_tu_base_de_datos');
define('DB_USER', 'nombre_de_tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');
  1. Si has cambiado la contraseña en Syspanel, este archivo debe tener la nueva contraseña, no la vieja.

[!TIP]
TIP: A veces, al copiar el archivo wp-config.php desde otro servidor, se quedan credenciales antiguas. Revisa que el DB_NAME y DB_USER coinciden con los que ves en Syspanel. El error "Access denied" es la forma que tiene MySQL de decirte "yo no conozco a ese usuario".


Solución 6: Reiniciar el servicio MySQL (Avanzado)

En casos muy raros, el servidor MySQL puede tener una cache interna con los permisos antiguos. Aunque no es lo común, reiniciar el servicio puede forzar la recarga de los privilegios.

[!WARNING]
WARNING: Esta acción requiere acceso SSH a tu servidor. Si no sabes qué es esto, contacta con el soporte técnico de Syspanel para que lo hagan por ti. No intentes hacerlo si no estás seguro, ya que podrías dejar caer otras bases de datos.

Si tienes acceso SSH, ejecuta:

sudo systemctl restart mysql

O en algunos sistemas:

sudo service mysql restart

Esto no borra datos, solo reinicia el servicio. Después de esto, intenta conectar de nuevo.


Solución 7: Comprobar si el problema es de la aplicación o de la base de datos

Para saber si el problema es de configuración o del servidor, puedes probar a conectar manualmente usando la terminal (SSH) o un cliente como phpMyAdmin (si está disponible en Syspanel).

  1. Accede a phpMyAdmin desde Syspanel.
  2. Intenta iniciar sesión con el usuario y contraseña que has configurado.
  3. Si phpMyAdmin te deja entrar, el problema está en tu aplicación (archivo de configuración mal escrito).
  4. Si phpMyAdmin te da el mismo error, el problema está en los privilegios o en el usuario de Syspanel, y deberías aplicar las soluciones 1, 2 o 3 de nuevo.

Preguntas Frecuentes (FAQ) sobre el error "Access denied"

¿Por qué me sigue dando error si he cambiado la contraseña?

Asegúrate de que has guardado los cambios en Syspanel y de que has actualizado el archivo de configuración de tu web. Los navegadores y los plugins de caché pueden guardar la configuración antigua. Borra la caché de tu navegador o prueba en una ventana de incógnito.

¿Qué significa "using password: YES" en el mensaje de error?

Significa que MySQL está recibiendo una contraseña, pero la está rechazando. Si el mensaje dijera "using password: NO", significaría que no se está enviando contraseña. El hecho de que diga "YES" confirma que el servidor sí recibe la contraseña, pero no coincide con la que tiene almacenada para ese usuario.

¿Puedo usar el mismo usuario para varias bases de datos en Syspanel?

Sí, puedes. Pero debes asegurarte de que ese usuario tenga privilegios MySQL Syspanel sobre todas las bases de datos a las que quieras acceder. Si solo lo tienes asignado a una, dará error en las demás.

He migrado mi web desde otro hosting y ahora no funciona

Este es un clásico. Al migrar, es probable que el archivo de configuración tenga los datos del hosting antiguo (usuario, contraseña y host). Debes reemplazarlos por los datos que te ofrece Syspanel. No sirve de nada copiar el mismo usuario si en Syspanel se llama diferente.

¿El puerto 2106 tiene algo que ver con este error?

No. El puerto 2106 es el puerto de acceso al panel de control Syspanel (la interfaz web). El error de base de datos es interno entre tu aplicación y el servidor MySQL (que suele estar en el puerto 3306). No mezcles ambos conceptos.


Resumen y consejos finales

El error "Access denied for user" es frustrante, pero en el 99% de los casos se soluciona en menos de 10 minutos revisando tres cosas: la contraseña, el nombre de usuario y los privilegios.

Te dejo un checklist rápido para que no se te olvide nada:

  • He verificado que el nombre de usuario en mi archivo de configuración es idéntico al de Syspanel.
  • He verificado que la contraseña es la correcta (mejor si la acabo de regenerar).
  • He marcado "Todos los privilegios" para ese usuario sobre la base de datos.
  • He reiniciado mi aplicación (o borrado la caché) después de los cambios.
  • Si nada funciona, he creado un usuario nuevo desde cero y lo he asignado a la base de datos.

Si has seguido todos estos pasos y el problema persiste, puede ser un fallo a nivel de servidor que solo el equipo de soporte de Syspanel puede resolver. No dudes en abrir un ticket de soporte, pero con los datos que has recopilado aquí (errores exactos, pasos probados), la solución será mucho más rápida.

[!INFO]
INFO: Recuerda que trabajar con bases de datos requiere paciencia. Un simple espacio en blanco al final de una contraseña es suficiente para provocar este error. Te recomiendo que uses el administrador de contraseñas de Syspanel para copiar y pegar siempre las credenciales, evitando errores de escritura manual.

Espero que esta guía extensa te haya sido de gran ayuda. Ahora ya sabes cómo atacar este problema como un profesional: con calma, revisando los privilegios MySQL Syspanel y verificando cada credencial. ¡Mucha suerte con tu proyecto!

¿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