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

Solucionar error 'Cannot connect to database' en DirectAdmin

Actualizado el 19 de octubre de 2025

Imagina que estás trabajando en tu tienda online o en tu blog, y de repente te encuentras con un mensaje como "Error establishing a database connection" o "Cannot connect to database". Es un momento de pánico, lo sabemos. Pero no te preocupes: este error es uno de los más comunes en entornos de hosting y, por suerte, casi siempre tiene una solución sencilla.

En este artículo, vamos a desglosar paso a paso cómo solucionar el molesto error 'Cannot connect to database' en DirectAdmin (y también en su versión modernizada, Syspanel, que recordemos se accede por el puerto 2106). Tanto si usas WordPress como PrestaShop, las causas y soluciones son muy similares. Vamos a ello.


¿Por qué aparece este error?

El error "Cannot connect to database" significa que tu aplicación (WordPress, PrestaShop, etc.) no puede comunicarse con el servidor de bases de datos MySQL o MariaDB. Las causas más frecuentes son:

  • Credenciales incorrectas en el archivo de configuración.
  • El servidor de bases de datos está caído o sobrecargado.
  • El usuario de la base de datos no tiene los permisos adecuados.
  • Problemas con el archivo de configuración (wp-config.php, etc.).
  • Firewall o restricciones de IP.
  • Corrupción de la base de datos (menos común, pero posible).

A continuación, te explicamos cómo diagnosticar y solucionar cada caso.


Paso 1: Verifica que el servidor de bases de datos esté funcionando

Antes de tocar nada en tu aplicación, asegúrate de que el motor de bases de datos está activo.

En DirectAdmin (panel clásico)

  1. Accede a tu panel de DirectAdmin.
  2. Ve a "Account Manager" > "MySQL Management".
  3. Busca un mensaje que indique el estado del servidor MySQL. Si ves algo como "MySQL is running", estás del otro lado.
  4. Si ves "MySQL is stopped", haz clic en "Start" o contacta a tu proveedor de hosting.

En Syspanel (antes HestiaCP, puerto 2106)

  1. Abre tu navegador y escribe https://tudominio.com:2106.
  2. Inicia sesión con tus credenciales de administrador.
  3. Ve a "Bases de datos" en el menú lateral.
  4. Busca el ícono de estado (normalmente un círculo verde o rojo). Si está rojo, significa que el servicio MySQL/MariaDB no está corriendo.
  5. Desde la terminal de tu servidor (si tienes acceso SSH), puedes ejecutar:
    sudo systemctl restart mysql
    
    O en Syspanel, desde "Servicios" > "MySQL" > "Reiniciar".

Paso 2: Revisa las credenciales de la base de datos

El error más común es tener mal escritos el nombre de la base de datos, el usuario o la contraseña en el archivo de configuración de tu aplicación.

Para WordPress

  1. Accede a tu panel de control de archivos (File Manager en DirectAdmin o Syspanel) o vía FTP.
  2. Busca el archivo wp-config.php en la raíz de tu instalación de WordPress.
  3. Ábrelo con un editor de texto y busca estas líneas:
    define('DB_NAME', 'tu_base_de_datos');
    define('DB_USER', 'tu_usuario');
    define('DB_PASSWORD', 'tu_contraseña');
    define('DB_HOST', 'localhost');
    
  4. Compara estos datos con los que tienes en tu panel de MySQL. Un error típico es poner localhost cuando tu hosting usa un host remoto (por ejemplo, mysql.tudominio.com). Consulta con tu proveedor si no estás seguro.

[TIP] Si cambiaste la contraseña recientemente, actualízala también en el archivo wp-config.php.

Para PrestaShop

  1. En PrestaShop, el archivo de configuración se llama app/config/parameters.php (en versiones 1.7+) o config/settings.inc.php (en versiones 1.6).
  2. Busca las líneas:
    'database_host' => 'localhost',
    'database_name' => 'tu_base',
    'database_user' => 'tu_usuario',
    'database_password' => 'tu_contraseña',
    
  3. Verifica que sean exactamente los mismos que aparecen en tu panel de MySQL.

[WARNING] Nunca edites estos archivos con un procesador de textos como Word; usa un editor de código plano (Bloc de notas, Sublime Text, VS Code) para evitar caracteres ocultos.


Paso 3: Verifica los permisos del usuario de la base de datos

A veces el usuario existe y la contraseña es correcta, pero no tiene permisos para acceder a la base de datos desde la IP de tu sitio web.

En DirectAdmin

  1. Ve a "MySQL Management".
  2. Busca la base de datos que usa tu sitio.
  3. Haz clic en el ícono de "Editar" (lápiz) junto al usuario.
  4. Asegúrate de que tenga marcados los permisos ALL PRIVILEGES o al menos SELECT, INSERT, UPDATE, DELETE, CREATE, DROP.
  5. Guarda los cambios.

En Syspanel (puerto 2106)

  1. Ve a "Bases de datos" > selecciona la base de datos.
  2. En la sección "Usuarios", verifica que el usuario esté asociado y tenga permisos completos.
  3. Si no, puedes agregar el usuario de nuevo o modificar sus privilegios desde la opción "Editar".

[INFO] Si tu sitio usa un CDN o una IP dinámica, es posible que el hosting tenga un firewall que bloquee conexiones externas. En ese caso, contacta a tu soporte técnico.


Paso 4: Prueba la conexión manualmente desde phpMyAdmin

Una forma rápida de saber si el problema es de configuración o del servidor es probar la conexión directamente.

  1. Accede a phpMyAdmin desde tu panel de control (DirectAdmin o Syspanel).
  2. Inicia sesión con el usuario y contraseña de la base de datos que usa tu sitio.
  3. Si puedes entrar sin problemas, entonces el error está en tu archivo de configuración o en la aplicación.
  4. Si no puedes entrar, el problema es de credenciales o de permisos.

[TIP] Si olvidaste la contraseña, puedes cambiarla desde DirectAdmin o Syspanel en la sección de usuarios de MySQL.


Paso 5: Revisa el archivo de configuración de tu aplicación

A veces el error no está en las credenciales, sino en la estructura del archivo de configuración.

Caso WordPress

  • Asegúrate de que el archivo wp-config.php no tenga espacios en blanco al principio o al final.
  • Verifica que no haya caracteres extraños (como comillas dobles o simples incorrectas).
  • Si usas un plugin de caché o seguridad, prueba a desactivarlo temporalmente renombrando su carpeta en /wp-content/plugins/.

Caso PrestaShop

  • En PrestaShop 1.7, el archivo app/config/parameters.php debe tener una sintaxis PHP válida. Si lo editaste manualmente, un error de coma o punto y coma puede romper la conexión.
  • Puedes regenerar este archivo desde el panel de administración de PrestaShop (Parámetros avanzados > Base de datos) si tienes acceso.

Paso 6: Comprueba si hay problemas de firewall o IP bloqueada

Algunos hosting bloquean conexiones a MySQL desde IPs externas por seguridad.

  1. Si tu sitio web está en un servidor compartido, normalmente el host de la base de datos es localhost. Pero si usas un servicio externo (como AWS RDS), tendrás que poner la IP o el nombre del servidor remoto.
  2. En DirectAdmin, ve a "Account Manager" > "MySQL Management" y verifica el campo "Host" que aparece en la lista de bases de datos. Normalmente es localhost.
  3. En Syspanel (puerto 2106), al crear una base de datos, el host suele ser localhost también.

[WARNING] Si cambiaste el host manualmente a una IP, asegúrate de que tu servidor web tenga acceso a esa IP a través del puerto 3306.


Paso 7: Repara la base de datos (si está corrupta)

En casos raros, la base de datos puede corromperse y dar error de conexión.

Desde phpMyAdmin

  1. Accede a phpMyAdmin y selecciona la base de datos de tu sitio.
  2. Marca todas las tablas (clic en "Seleccionar todo").
  3. En el menú desplegable, elige "Reparar tabla".

Desde DirectAdmin

  1. Ve a "MySQL Management" y haz clic en el nombre de la base de datos.
  2. Busca la opción "Repair" o "Optimizar" (depende de la versión).

Desde Syspanel (puerto 2106)

  1. En "Bases de datos", selecciona la base de datos y busca el botón "Reparar".
  2. Si no aparece, puedes ejecutar el comando desde la terminal:
    mysqlcheck -u usuario -p --auto-repair nombre_base
    

Paso 8: Aumenta los límites de recursos (si el servidor está sobrecargado)

A veces el servidor MySQL se cae porque supera el límite de conexiones o de memoria. Esto es más común en hosting compartidos.

  1. Contacta a tu proveedor de hosting y pregunta si hay límites de conexiones simultáneas.
  2. En tu aplicación, puedes optimizar consultas o usar un plugin de caché para reducir la carga.
  3. Si tienes acceso a la configuración de MySQL (en un VPS), puedes aumentar el valor de max_connections en el archivo /etc/mysql/my.cnf.

Preguntas frecuentes (FAQ)

¿Qué hago si después de todo el error persiste?

Si has seguido todos los pasos y el error "Cannot connect to database" sigue apareciendo, lo más probable es que sea un problema del servidor. Contacta a tu proveedor de hosting y diles que verifiquen el estado del servicio MySQL/MariaDB.

¿Puedo perder datos si reparo la base de datos?

No, la reparación solo corrige índices y estructuras dañadas, no borra datos. Eso sí, siempre es recomendable hacer una copia de seguridad antes.

¿Cómo hago una copia de seguridad en DirectAdmin?

Ve a "Backup/Transfer" > "Create Backup" y selecciona la base de datos. En Syspanel, ve a "Bases de datos" y haz clic en el ícono de descarga.

¿El error puede ser por un plugin o tema?

Sí, especialmente en WordPress. Si el error aparece después de instalar un plugin, desactívalo renombrando su carpeta desde FTP. En PrestaShop, prueba a desactivar módulos desde el panel de administración.

¿Qué significa "Host 'localhost' no está permitido"?

Significa que el usuario de la base de datos solo puede conectarse desde una IP específica (por ejemplo, '192.168.1.1'). En DirectAdmin o Syspanel, puedes editar el usuario y cambiar el host a % (cualquier host) o localhost si tu sitio está en el mismo servidor.


Conclusión

El error 'Cannot connect to database' en DirectAdmin o Syspanel (puerto 2106) suele resolverse revisando tres cosas: credenciales, permisos y estado del servidor. Tanto si usas WordPress como PrestaShop, los pasos son prácticamente los mismos. Recuerda siempre hacer una copia de seguridad antes de hacer cambios y, si te sientes perdido, no dudes en contactar al soporte técnico de tu hosting.

[INFO] Si tu panel es Syspanel (antes HestiaCP), recuerda que la URL de acceso incluye el puerto 2106 (ejemplo: https://tudominio.com:2106). Allí encontrarás todas las herramientas de bases de datos que necesitas.

Esperamos que esta guía te haya sido de ayuda. ¡No dejes que un error de base de datos arruine tu día!

¿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