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

Errores comunes al conectar bases de datos en DirectAdmin y cómo solucionarlos

Actualizado el 30 de mayo de 2026

Introducción: ¿Por qué falla la conexión a la base de datos en DirectAdmin?

Si estás leyendo esto, probablemente has visto un mensaje como "Error establishing a database connection" o "Can't connect to MySQL server" al intentar acceder a tu web o aplicación. No te preocupes: es uno de los errores más comunes en entornos de hosting con DirectAdmin y, por suerte, casi siempre tiene solución.

En esta guía vamos a recorrer los errores más frecuentes al conectar bases de datos MySQL en DirectAdmin, desde problemas de permisos hasta configuraciones incorrectas. Te explicaré paso a paso cómo diagnosticarlos y arreglarlos, con un lenguaje claro y ejemplos prácticos.


1. Error de permisos: "Access denied for user"

Este es, con diferencia, el error más habitual. Sucede cuando el usuario de la base de datos no tiene los permisos adecuados o los datos de acceso son incorrectos.

Síntomas típicos

  • Mensaje: Access denied for user 'usuario'@'localhost' (using password: YES)
  • Tu web o app no puede conectar a la base de datos.
  • Aparece al instalar CMS como WordPress, Joomla o PrestaShop.

Causas comunes

  • Contraseña mal escrita en el archivo de configuración.
  • Usuario creado pero no vinculado a la base de datos correcta.
  • Permisos insuficientes (solo lectura, sin escritura).

Solución paso a paso

  1. Verifica las credenciales en tu aplicación
    Busca el archivo de configuración (por ejemplo, wp-config.php en WordPress o configuration.php en Joomla). Revisa que el nombre de usuario, contraseña, nombre de base de datos y servidor (localhost normalmente) sean exactamente los que tienes en DirectAdmin.

  2. Comprueba el usuario y la base de datos en DirectAdmin

    • Ingresa a tu panel DirectAdmin.
    • Ve a "Administración de MySQL" o "Base de datos MySQL".
    • Asegúrate de que el usuario está asignado a la base de datos que quieres usar. Si no, usa la opción "Añadir usuario a base de datos".
  3. Reasigna permisos completos

    • En la misma sección, selecciona el usuario y la base de datos.
    • Marca todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). A veces el error aparece porque solo se dieron permisos parciales.
  4. Cambia la contraseña (si es necesario)
    Si sospechas que la contraseña es incorrecta, puedes resetearla desde DirectAdmin:

    • En "Base de datos MySQL", haz clic en el icono de lápiz (editar) junto al usuario.
    • Ingresa una nueva contraseña segura y actualiza el archivo de configuración de tu web.

[TIP] Usa contraseñas con al menos 12 caracteres, combinando mayúsculas, minúsculas, números y símbolos. DirectAdmin suele generar una automáticamente; es buena práctica usarla.


2. El servidor MySQL no está funcionando

A veces el problema no son tus credenciales, sino que el servicio MySQL está caído o no responde.

Síntomas típicos

  • Mensaje: Can't connect to MySQL server on 'localhost' (111) o (2002)
  • La web carga muy lento o da error directo.
  • No puedes acceder a phpMyAdmin.

Causas comunes

  • El servicio MySQL se ha detenido por error del sistema.
  • Sobrecarga de recursos (memoria o CPU).
  • Actualización o mantenimiento del servidor.

Solución paso a paso

  1. Reinicia el servicio desde DirectAdmin

    • Ve a "Servicios del sistema" o "Gestión de servicios" en el panel.
    • Busca "mysqld" o "mysql" y haz clic en "Reiniciar".
    • Espera unos segundos y prueba de nuevo.
  2. Si no tienes acceso a reiniciar servicios
    Algunos planes de hosting compartido no permiten reiniciar servicios. En ese caso, contacta con tu proveedor de hosting y pídeles que revisen el estado de MySQL.

  3. Verifica desde la línea de comandos (si tienes acceso SSH)

    systemctl status mysql
    

    Si ves que está inactivo, ejecuta:

    systemctl start mysql
    

[WARNING] Si el servicio se cae con frecuencia, puede ser señal de que tu web consume demasiados recursos. Revisa consultas lentas o plugins que generen mucha carga.


3. Nombre de host incorrecto o puerto equivocado

En DirectAdmin, el host de la base de datos suele ser localhost, pero a veces en servidores con configuraciones especiales se usa 127.0.0.1 o una IP específica. También puede haber problemas con el puerto.

Síntomas típicos

  • Mensaje: Unknown MySQL server host 'nombre_incorrecto'
  • Error de conexión incluso con credenciales correctas.
  • En phpMyAdmin ves el servidor pero tu app no conecta.

Causas comunes

  • En el archivo de configuración pusiste localhost cuando debería ser 127.0.0.1 o viceversa.
  • El puerto por defecto (3306) está bloqueado o cambiado.
  • Tu hosting usa un socket Unix en lugar de TCP/IP.

Solución paso a paso

  1. Confirma el host correcto en DirectAdmin

    • En el panel, ve a la sección de bases de datos.
    • Normalmente verás algo como Servidor: localhost. Si no, revisa la documentación de tu proveedor.
  2. Prueba con diferentes valores
    En tu archivo de configuración, cambia el host a:

    • localhost
    • 127.0.0.1
    • La IP de tu servidor (p.ej., 192.168.1.100)
  3. Especifica el puerto si es necesario
    Algunos servidores usan puertos no estándar. En el archivo de configuración puedes añadirlo así:

    define('DB_HOST', 'localhost:3307');
    

    O en algunos CMS, existe un campo separado para el puerto.

  4. Consulta con tu proveedor
    Si nada funciona, pide a tu soporte técnico el host y puerto exactos.

[INFO] En servidores compartidos, el host casi siempre es localhost. Si usas un VPS dedicado, puede ser 127.0.0.1 o la IP pública.


4. Problemas con el nombre de la base de datos o usuario

DirectAdmin suele asignar prefijos automáticos a las bases de datos y usuarios (por ejemplo, usuario_bd y usuario_user). Confundir estos nombres es un clásico.

Síntomas típicos

  • Mensaje: Unknown database 'nombre_incorrecto'
  • Error de conexión aunque el usuario exista.
  • Al instalar un CMS, el asistente no encuentra la base de datos.

Causas comunes

  • Copiaste mal el nombre exacto desde DirectAdmin.
  • Usaste el nombre del usuario como nombre de la base de datos (o viceversa).
  • La base de datos fue eliminada accidentalmente.

Solución paso a paso

  1. Verifica los nombres exactos en DirectAdmin

    • Ve a "Base de datos MySQL".
    • Anota con cuidado el nombre de la base de datos y el usuario. Suelen tener un formato como tuusuario_bd1 y tuusuario_user1.
  2. Corrige el archivo de configuración
    Asegúrate de que los valores coincidan exactamente, respetando mayúsculas, minúsculas y guiones bajos.

  3. Si la base de datos no existe, créala de nuevo

    • En DirectAdmin, usa la opción "Crear nueva base de datos".
    • Asigna el usuario correspondiente con todos los permisos.

[WARNING] No confundas el nombre de la base de datos con el nombre del usuario. Son entidades diferentes. El usuario solo tiene permiso para acceder a la base de datos asignada.


5. El archivo de configuración tiene errores de sintaxis

A veces el problema no es la conexión en sí, sino que el archivo donde guardas los datos está mal escrito.

Síntomas típicos

  • La web muestra un error de PHP o un mensaje en blanco.
  • Al abrir el archivo de configuración ves caracteres extraños.
  • Los datos están en el lugar equivocado.

Solución paso a paso

  1. Abre el archivo con un editor de texto plano
    No uses Word o procesadores de texto. Usa Notepad++, Sublime Text o el editor de archivos de DirectAdmin.

  2. Revisa la sintaxis
    Por ejemplo, en WordPress wp-config.php debe verse así:

    define('DB_NAME', 'tuusuario_bd1');
    define('DB_USER', 'tuusuario_user1');
    define('DB_PASSWORD', 'contraseña_segura');
    define('DB_HOST', 'localhost');
    
  3. Busca comillas o puntos y coma faltantes
    Un error típico es olvidar el punto y coma al final de la línea (;). También asegúrate de que las comillas sean simples (') o dobles (") pero consistentes.

  4. Guarda y sube de nuevo el archivo
    Si editas localmente, súbelo por FTP o usa el administrador de archivos de DirectAdmin.

[TIP] Siempre haz una copia de seguridad del archivo original antes de modificarlo. Así puedes restaurarlo si algo sale mal.


6. Firewall o restricciones de IP

En algunos servidores, el firewall bloquea las conexiones a MySQL desde ciertas IPs, sobre todo si intentas conectar desde fuera del servidor.

Síntomas típicos

  • Error: Can't connect to MySQL server on 'ip_del_servidor' (113)
  • Solo falla cuando conectas desde una herramienta externa (como MySQL Workbench).
  • En la web local funciona bien.

Solución paso a paso

  1. Conecta siempre desde el mismo servidor
    La forma más segura es usar localhost desde tu web. Si necesitas acceso externo, pide a tu proveedor que abra el puerto 3306 para tu IP.

  2. Configura el firewall (si tienes acceso)
    En un VPS, puedes permitir tu IP con:

    sudo ufw allow from tu_ip to any port 3306
    
  3. Usa un túnel SSH
    Como alternativa segura, puedes crear un túnel SSH para conectar a MySQL de forma remota sin exponer el puerto.

[WARNING] No abras el puerto 3306 a todo el mundo (0.0.0.0/0). Es un riesgo de seguridad grave. Siempre limita el acceso a IPs específicas.


7. Problemas con versiones de MySQL o PHP

A veces la incompatibilidad entre versiones causa errores de conexión. Por ejemplo, si tu web usa una función obsoleta o el driver de PHP no es el adecuado.

Síntomas típicos

  • Error: The server requested authentication method unknown to the client
  • Después de actualizar PHP o MySQL, la conexión falla.
  • Mensajes sobre mysql_connect() vs mysqli_connect().

Solución paso a paso

  1. Verifica la versión de MySQL en DirectAdmin
    Ve a "Información del servidor" o consulta con tu proveedor.

  2. Actualiza tu código o CMS
    Si usas un CMS antiguo, actualízalo a la última versión. Por ejemplo, WordPress 5.0+ requiere PHP 7.4 o superior.

  3. Cambia el método de autenticación
    En MySQL 8, el método por defecto es caching_sha2_password. Si tu cliente no lo soporta, puedes cambiarlo:

    ALTER USER 'usuario'@'localhost' IDENTIFIED WITH mysql_native_password BY 'contraseña';
    
  4. Usa el driver correcto en PHP
    Asegúrate de que tu aplicación use mysqli o PDO, no la extensión mysql (obsoleta desde PHP 7).

[INFO] Si no sabes qué versión de PHP usas, en DirectAdmin ve a "Configuración de PHP" o "Select PHP version" para verlo y cambiarlo si es necesario.


8. La base de datos está corrupta o llena

A veces el error no es de conexión, sino que la base de datos tiene problemas internos.

Síntomas típicos

  • Mensaje: Table 'nombre_tabla' is marked as crashed
  • La web carga muy lento o da errores intermitentes.
  • No puedes acceder a ciertas tablas desde phpMyAdmin.

Solución paso a paso

  1. Repara las tablas desde phpMyAdmin

    • Ingresa a phpMyAdmin desde DirectAdmin.
    • Selecciona la base de datos.
    • Marca todas las tablas y en el menú desplegable elige "Reparar tabla".
  2. Optimiza la base de datos
    Después de reparar, también puedes optimizar para liberar espacio y mejorar rendimiento.

  3. Si el problema persiste, restaura desde un backup
    En DirectAdmin, ve a "Administración de backups" y restaura una copia reciente de la base de datos.

[TIP] Programa backups automáticos semanales de tus bases de datos. DirectAdmin permite hacerlo desde la sección de "Backups".


Conclusión y consejos finales

Los errores de conexión a bases de datos en DirectAdmin pueden ser frustrantes, pero siguiendo estos pasos podrás resolver la mayoría sin necesidad de ser un experto. Recuerda:

  • Siempre verifica las credenciales primero (es el error más común).
  • Reinicia el servicio MySQL si sospechas que está caído.
  • Revisa los nombres exactos de base de datos y usuario.
  • Mantén tu CMS y PHP actualizados para evitar incompatibilidades.
  • Haz backups periódicos para no perder datos.

Si después de todo esto el error continúa, contacta con tu proveedor de hosting. Ellos tienen acceso directo al servidor y pueden revisar logs más detallados.


FAQ - Preguntas frecuentes

¿Por qué aparece "Access denied for user" si estoy seguro de que la contraseña es correcta?

Puede que el usuario no esté asignado a la base de datos correcta. Revisa en DirectAdmin que el usuario aparezca en la lista de usuarios de esa base de datos.

¿Cómo cambio el host de localhost a una IP?

En el archivo de configuración de tu web, busca la línea DB_HOST y cámbiala por 127.0.0.1 o la IP de tu servidor. A veces también necesitas especificar el puerto.

¿Qué hago si no tengo acceso a phpMyAdmin?

Si phpMyAdmin no carga, prueba a reiniciar el servicio MySQL desde DirectAdmin o contacta con soporte. También puedes usar herramientas como Adminer o la línea de comandos si tienes SSH.

¿El error "Can't connect to MySQL server" siempre es culpa mía?

No. Puede ser un problema del servidor. Verifica primero si otros sitios en el mismo hosting funcionan. Si no, el problema es del proveedor.

¿Cómo sé si mi base de datos está corrupta?

Si ves errores como "Table is marked as crashed" o "Incorrect key file", intenta repararla desde phpMyAdmin. Si no puedes acceder, restaura desde un backup.


Espero que esta guía te haya sido de ayuda. Si tienes más dudas, no dudes en consultar la documentación de DirectAdmin o preguntar a tu soporte técnico. ¡Buena suerte con tu conexión!

¿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