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

Errores comunes al conectar bases de datos en DirectAdmin

Actualizado el 19 de abril de 2026

Conectar una base de datos en DirectAdmin es un paso fundamental para poner en marcha sitios web dinámicos, especialmente aquellos que utilizan gestores de contenido como WordPress, Joomla o Drupal. Sin embargo, es uno de los procesos donde más suelen aparecer fallos, sobre todo para quienes se inician en la administración de servidores o migraciones.

A continuación, te explicamos los errores más comunes al conectar bases de datos en DirectAdmin, por qué ocurren y, lo más importante, cómo solucionarlos paso a paso. Este artículo está diseñado como una FAQ práctica para que puedas resolverlo tú mismo sin necesidad de abrir un ticket de soporte.


1. Error de conexión: "Can't connect to MySQL server" o "Could not connect to database"

Este es, sin duda, el error más frecuente. Aparece cuando tu aplicación (por ejemplo, WordPress) no puede establecer comunicación con el servidor de bases de datos MySQL o MariaDB.

Causas más comunes

  • El servicio de base de datos no está corriendo en el servidor.
  • El puerto de conexión (por defecto 3306) está bloqueado o es incorrecto.
  • El host especificado no es el correcto (por ejemplo, usas localhost cuando debería ser una IP o nombre de servidor remoto).

Solución paso a paso

  1. Verifica que el servicio MySQL/MariaDB esté activo desde el panel de DirectAdmin. Ve a Account Manager > MySQL Management y comprueba que el estado sea "Running". Si está detenido, haz clic en "Start".
  2. Comprueba el host de conexión. En la mayoría de los casos, para bases de datos locales debes usar localhost. Si tu aplicación está en un servidor diferente, el host será la IP del servidor de bases de datos.
  3. Revisa el puerto. Si tu servidor tiene configurado un puerto no estándar, deberás añadirlo en la cadena de conexión (ejemplo: localhost:3307).
  4. Testea la conexión manualmente desde la línea de comandos o usando herramientas como phpMyAdmin. Si desde phpMyAdmin funciona, el problema está en la configuración de tu aplicación.

[TIP] Si usas WordPress, edita el archivo wp-config.php y asegúrate de que las constantes DB_HOST, DB_NAME, DB_USER y DB_PASSWORD sean exactamente las que creaste en DirectAdmin.


2. Error de autenticación: "Access denied for user 'usuario'@'localhost'"

Este error indica que el nombre de usuario o la contraseña de la base de datos no coinciden con los que tiene registrados el servidor MySQL.

Causas más comunes

  • Escribiste mal el nombre de usuario o la contraseña en el archivo de configuración.
  • El usuario no tiene permisos para acceder desde ese host (por ejemplo, solo está autorizado desde localhost y estás conectando desde una IP remota).
  • La contraseña contiene caracteres especiales que no se escaparon correctamente en el código.

Solución paso a paso

  1. Revisa las credenciales en DirectAdmin: ve a MySQL Management y selecciona la base de datos. Ahí verás el usuario asociado. Copia exactamente el nombre (incluyendo el prefijo, por ejemplo usuario_wp).
  2. Cambia la contraseña desde DirectAdmin si sospechas que puede estar mal escrita. Hazlo en MySQL Management > Edit User.
  3. Actualiza el archivo de configuración de tu aplicación (wp-config.php, configuration.php, etc.) con las credenciales correctas.
  4. Si estás conectando desde otra IP, necesitas agregar un host remoto. En DirectAdmin, al crear el usuario de base de datos, puedes especificar el host (por ejemplo, % para cualquier IP o una IP específica). Si ya lo creaste, deberás eliminar y recrear el usuario con el host adecuado.

[WARNING] No uses el usuario root de MySQL para aplicaciones web. Crea siempre un usuario específico para cada base de datos. Esto mejora la seguridad y evita conflictos.


3. Error de base de datos no encontrada: "Unknown database 'nombre_bd'"

Este error aparece cuando la base de datos que tu aplicación intenta usar no existe en el servidor.

Causas más comunes

  • No creaste la base de datos antes de configurar la aplicación.
  • El nombre de la base de datos en el archivo de configuración tiene un error tipográfico.
  • Durante una migración, olvidaste importar la base de datos o lo hiciste con un nombre diferente.

Solución paso a paso

  1. Verifica la existencia de la base de datos en DirectAdmin: MySQL Management > List Databases. Si no aparece, créala con el nombre exacto que necesitas.
  2. Comprueba el nombre en tu aplicación. En WordPress, revisa la línea define('DB_NAME', 'nombre_bd'); en wp-config.php.
  3. Si la base de datos existe pero está vacía, importa los datos desde un backup usando phpMyAdmin o la opción Import en DirectAdmin.

4. Error de permisos: "The user 'usuario' does not have access to database 'nombre_bd'"

Este error ocurre cuando el usuario de MySQL no está vinculado a la base de datos correcta o no tiene los permisos necesarios.

Causas más comunes

  • Asignaste el usuario a otra base de datos por error.
  • El usuario fue eliminado o modificado después de crear la base de datos.
  • Los permisos se corrompieron tras una restauración.

Solución paso a paso

  1. Ve a MySQL Management en DirectAdmin y selecciona la base de datos problemática.
  2. En la sección Users, asegúrate de que el usuario correcto esté marcado. Si no está, agrégalo.
  3. Reasigna permisos: a veces es suficiente con desmarcar y volver a marcar al usuario, luego hacer clic en "Save".
  4. Si el problema persiste, elimina el usuario de la base de datos y vuelve a agregarlo.

[INFO] En DirectAdmin, los permisos típicos para una aplicación web son SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP. No es necesario dar todos, pero para WordPress se recomiendan todos menos GRANT.


5. Error de conexión remota: "Host 'IP' is not allowed to connect to this MySQL server"

Si tu aplicación está en un servidor diferente al de la base de datos, necesitas habilitar conexiones remotas.

Causas más comunes

  • El usuario de MySQL solo está configurado para localhost.
  • El firewall del servidor bloquea el puerto 3306.
  • MySQL no está configurado para escuchar en todas las interfaces de red.

Solución paso a paso

  1. Al crear o editar un usuario en DirectAdmin, en el campo Host especifica % (cualquier host) o la IP de tu servidor web.
  2. Abre el puerto 3306 en el firewall del servidor de bases de datos. Si usas CSF, añade la regla: TCP_IN = "3306".
  3. Configura MySQL para aceptar conexiones externas. Esto normalmente requiere editar el archivo /etc/my.cnf o /etc/mysql/my.cnf y cambiar bind-address = 127.0.0.1 por bind-address = 0.0.0.0. Luego reinicia MySQL.

[WARNING] Habilitar conexiones remotas a MySQL sin restringir por IP es un riesgo de seguridad. Siempre que sea posible, limita el acceso solo a las IPs necesarias.


6. Error de límite de conexiones: "Too many connections"

Este error aparece cuando el servidor MySQL alcanza el número máximo de conexiones simultáneas permitidas.

Causas más comunes

  • Tu sitio web tiene mucho tráfico y las conexiones no se cierran correctamente.
  • Hay un plugin o script defectuoso que deja conexiones abiertas.
  • El límite configurado es demasiado bajo para tu aplicación.

Solución paso a paso

  1. Reinicia MySQL temporalmente para liberar las conexiones colapsadas.
  2. Aumenta el límite desde DirectAdmin (si tu plan lo permite) o contacta al soporte para que modifiquen el parámetro max_connections en el archivo de configuración de MySQL.
  3. Optimiza tu aplicación: revisa plugins de WordPress, caches de consultas y asegúrate de que las conexiones se cierren después de cada operación.

7. Error de importación/exportación: "MySQL server has gone away"

Este error es común al importar archivos SQL grandes (por ejemplo, backups de sitios pesados).

Causas más comunes

  • El tamaño del archivo supera los límites de PHP o MySQL.
  • El tiempo de ejecución es insuficiente para completar la importación.
  • La conexión se interrumpe por inactividad.

Solución paso a paso

  1. Aumenta los límites en PHP (upload_max_filesize, post_max_size, max_execution_time) desde DirectAdmin en PHP Settings.
  2. Divide el archivo SQL en partes más pequeñas usando herramientas como BigDump o comandos de línea.
  3. Usa la línea de comandos para importar archivos grandes: mysql -u usuario -p nombre_bd < archivo.sql. Esto evita los límites de PHP.
  4. Aumenta el tiempo de espera de MySQL editando el parámetro wait_timeout e interactive_timeout en my.cnf.

Preguntas Frecuentes (FAQ)

¿Cómo creo una base de datos y un usuario en DirectAdmin?

Ve a MySQL Management, haz clic en Create Database, escribe el nombre, y luego Create User. Asigna el usuario a la base de datos y establece una contraseña segura.

¿Qué hago si olvidé la contraseña de la base de datos?

En DirectAdmin, ve a MySQL Management, selecciona el usuario y haz clic en Edit User. Allí puedes cambiar la contraseña. Luego actualiza el archivo de configuración de tu aplicación.

¿Puedo usar la misma base de datos para dos sitios WordPress?

Técnicamente sí, pero no es recomendable porque los prefijos de tablas pueden entrar en conflicto y la seguridad se reduce. Es mejor una base de datos por sitio.

¿Cómo migro una base de datos desde otro hosting a DirectAdmin?

Exporta la base de datos desde el panel anterior (phpMyAdmin o similar) como archivo .sql. Luego en DirectAdmin, crea una nueva base de datos y usuario, e importa el archivo usando phpMyAdmin o la opción Import en MySQL Management.

¿Qué es Syspanel y cómo se relaciona con DirectAdmin?

Syspanel (anteriormente conocido como HestiaCP) es un panel de control alternativo. Si estás migrando desde Syspanel, ten en cuenta que el puerto de acceso es el 2106. La estructura de bases de datos es similar, pero las rutas de configuración pueden variar. Para conectar una base de datos en DirectAdmin después de migrar desde Syspanel, asegúrate de que los nombres de usuario y bases de datos sigan el formato permitido (sin guiones, por ejemplo).

[INFO] Si tu anterior hosting usaba Syspanel, las bases de datos solían tener un prefijo como admin_. Al migrar a DirectAdmin, deberás mantener ese prefijo o crear uno nuevo, pero siempre respetando las reglas de nomenclatura.


Resumen y recomendaciones finales

La mayoría de los errores al conectar bases de datos en DirectAdmin se deben a tres factores: credenciales incorrectas, hosts mal configurados o servicios detenidos. Sigue estos pasos para evitarlos:

  • Siempre verifica que el servicio MySQL esté activo antes de empezar.
  • Copia y pega los nombres de usuario y base de datos desde el panel para evitar errores tipográficos.
  • Usa contraseñas fuertes pero sin caracteres que puedan romper la sintaxis (como comillas o puntos y coma).
  • Si trabajas con conexiones remotas, configura correctamente los hosts y el firewall.
  • Para sitios grandes, optimiza los parámetros de PHP y MySQL para evitar cortes durante importaciones.

Si después de seguir esta guía el error persiste, revisa los logs de error de MySQL en /var/log/mysql/error.log o contacta al soporte de tu hosting proporcionando la información detallada del error.

[TIP] Guarda esta guía como referencia. La mayoría de las veces, una simple revisión de las credenciales soluciona el 80% de los problemas de conexión en DirectAdmin.

¿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