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

Solucionar error de conexión a base de datos en DirectAdmin

Actualizado el 3 de junio de 2026

¿Por Qué Aparece el Error de Conexión a la Base de Datos en DirectAdmin?

Cuando trabajas con tu sitio web, uno de los errores más frustrantes es ver un mensaje como "Error establishing a database connection" o "Cannot connect to MySQL". Esto suele ocurrir porque tu aplicación (WordPress, Joomla, etc.) no puede comunicarse con el servidor de bases de datos. En DirectAdmin, este problema puede deberse a varias causas, desde un servicio caído hasta configuraciones incorrectas en los archivos de conexión.

No te preocupes. En este artículo te guiaré paso a paso para solucionar error MySQL DirectAdmin y recuperar el acceso a tu base de datos. Vamos a abordar desde lo más básico hasta soluciones avanzadas, siempre con un lenguaje claro y ejemplos prácticos.


Causas Comunes del Error "Base de Datos No Conecta"

Antes de lanzarnos a soluciones, es importante entender qué puede estar pasando. Estas son las razones más frecuentes por las que tu base de datos no conecta:

  • El servicio MySQL/MariaDB está detenido. Puede haberse caído por un reinicio del servidor o un fallo interno.
  • Credenciales incorrectas. El usuario, contraseña o nombre de la base de datos no coinciden con los que configuraste.
  • Archivo de configuración dañado. En aplicaciones como WordPress, el archivo wp-config.php puede tener datos erróneos.
  • Firewall o permisos de IP. El servidor de bases de datos puede estar bloqueando conexiones desde tu IP o desde el servidor web.
  • Sobrecarga del servidor. Demasiadas conexiones simultáneas o un pico de tráfico pueden saturar MySQL.
  • Corrupción de tablas. Alguna tabla de la base de datos puede estar dañada y provocar el error.

Paso 1: Verifica que el Servicio de Base de Datos Esté Activo

El primer paso en cualquier DirectAdmin troubleshooting es confirmar que el motor de bases de datos (MySQL o MariaDB) esté funcionando.

Cómo revisar el estado del servicio desde DirectAdmin:

  1. Ingresa a tu panel de DirectAdmin con tus credenciales de administrador.
  2. Ve a "Account Manager" > "System Info & Files" > "Services".
  3. Busca en la lista "mysqld" o "mariadb". Debería aparecer como "Running" (en ejecución).
  4. Si aparece como "Stopped", haz clic en el botón "Start" para reiniciarlo.

[INFO] Si no ves la opción "Services", puede que tu plan de hosting no te permita administrar servicios. En ese caso, contacta a tu proveedor de hosting.

Desde la línea de comandos (SSH):

Si tienes acceso SSH, puedes usar estos comandos:

# Para ver el estado del servicio
systemctl status mysql

# Si está detenido, iniciarlo
systemctl start mysql

# Para que se inicie automáticamente al reiniciar el servidor
systemctl enable mysql

[WARNING] Si el servicio no arranca, revisa los logs de errores de MySQL en /var/log/mysql/error.log. Busca palabras como "corrupt", "disk full" o "permission denied".


Paso 2: Revisa las Credenciales en el Archivo de Configuración

Si el servicio está activo, el problema suele estar en las credenciales. Cada aplicación guarda los datos de conexión en un archivo específico.

Para WordPress:

El archivo clave es wp-config.php, ubicado en la raíz de tu sitio.

  1. Accede a tu cuenta de DirectAdmin y ve a "File Manager".
  2. Navega hasta la carpeta de tu dominio (ejemplo: /domains/tudominio.com/public_html/).
  3. Busca el archivo wp-config.php y haz clic derecho para "Edit".
  4. Busca estas líneas y verifica que los datos sean correctos:
define('DB_NAME', 'tu_base_de_datos');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');

[TIP] El valor de DB_HOST suele ser localhost, pero en algunos servidores compartidos puede ser una IP como 127.0.0.1 o incluso el nombre del servidor. Pregunta a tu hosting si no estás seguro.

Para otras aplicaciones (Joomla, Drupal, etc.):

Busca archivos como configuration.php o settings.php y repite el mismo proceso.

Cómo obtener las credenciales correctas desde DirectAdmin:

  1. En DirectAdmin, ve a "MySQL Management".
  2. Verás una lista de tus bases de datos. Haz clic en "Manage" junto a la que necesitas.
  3. Allí aparecerán el nombre de la base de datos, el usuario y la opción de "Change Password". Si no recuerdas la contraseña, puedes cambiarla por una nueva.
  4. Actualiza el archivo de configuración de tu aplicación con esos datos.

[WARNING] Después de cambiar la contraseña, todas las aplicaciones que usen esa base de datos dejarán de funcionar hasta que actualices sus archivos de configuración.


Paso 3: Comprueba los Permisos del Usuario de la Base de Datos

A veces el usuario de la base de datos no tiene permisos suficientes para conectarse desde el servidor web.

Cómo otorgar permisos desde phpMyAdmin:

  1. En DirectAdmin, ve a "phpMyAdmin" (suele estar en "Advanced Features" o "MySQL Management").
  2. Selecciona tu base de datos en la columna izquierda.
  3. Haz clic en la pestaña "Privileges".
  4. Busca tu usuario y haz clic en "Edit Privileges".
  5. Asegúrate de que tenga marcado "ALL PRIVILEGES" o al menos los básicos: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP.
  6. Guarda los cambios.

Desde la línea de comandos (SSH):

-- Conéctate a MySQL
mysql -u root -p

-- Otorga todos los privilegios al usuario para la base de datos
GRANT ALL PRIVILEGES ON tu_base_de_datos.* TO 'tu_usuario'@'localhost';

-- Aplica los cambios
FLUSH PRIVILEGES;

[INFO] El @'localhost' indica que solo puede conectarse desde el mismo servidor. Si tu aplicación está en otro servidor, usa @'%' o la IP específica.


Paso 4: Verifica la Configuración del Firewall y el Host

A veces, el firewall del servidor bloquea las conexiones a MySQL en el puerto 3306.

Desde DirectAdmin (si tienes acceso a "Firewall"):

  1. Ve a "Account Manager" > "Firewall".
  2. Asegúrate de que el puerto 3306 esté abierto para la IP de tu servidor web (o para todas las IPs si es necesario).
  3. Si usas CSF (ConfigServer Security & Firewall), puedes agregar una regla como:
    TCP_IN = "3306"
    

Verifica el archivo de configuración de MySQL:

  1. Accede por SSH y abre el archivo /etc/mysql/my.cnf o /etc/my.cnf.
  2. Busca la línea bind-address. Si dice 127.0.0.1, solo acepta conexiones locales. Si tu aplicación está en otro servidor, cámbiala a 0.0.0.0 o a la IP específica.
  3. Reinicia MySQL:
    systemctl restart mysql
    

[WARNING] Cambiar bind-address a 0.0.0.0 expone MySQL a la red. Asegúrate de tener un firewall configurado para evitar accesos no autorizados.


Paso 5: Revisa los Logs de Errores de MySQL

Los logs pueden darte pistas precisas sobre el problema.

Cómo acceder a los logs:

  1. Desde DirectAdmin, ve a "System Info & Files" > "Log Viewer" y busca archivos como mysql.log o mysqld.log.
  2. Desde SSH, usa:
    tail -f /var/log/mysql/error.log
    
  3. Busca errores como:
    • Can't connect to MySQL server on 'localhost' (111) → Servicio no disponible.
    • Access denied for user 'usuario'@'localhost' → Credenciales incorrectas.
    • Table 'wp_options' is marked as crashed → Tabla corrupta.

Paso 6: Repara Tablas Corruptas

Si el log muestra tablas corruptas, puedes repararlas fácilmente.

Desde phpMyAdmin:

  1. Selecciona la base de datos.
  2. Marca las tablas problemáticas (o todas).
  3. En el menú desplegable de abajo, selecciona "Repair table".

Desde la línea de comandos:

mysqlcheck -u root -p --auto-repair --databases tu_base_de_datos

Paso 7: Aumenta el Límite de Conexiones (Si es Necesario)

Si tu sitio recibe mucho tráfico, podrías superar el límite de conexiones simultáneas.

Cómo ver el límite actual:

SHOW VARIABLES LIKE 'max_connections';

Cómo cambiarlo temporalmente:

SET GLOBAL max_connections = 500;

[TIP] Para un cambio permanente, edita el archivo my.cnf y agrega: max_connections = 500. Luego reinicia MySQL.


Preguntas Frecuentes (FAQ)

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

Prueba a reiniciar el servidor web (Apache/Nginx) desde DirectAdmin en "Services". También verifica que no haya un plugin o tema conflictivo en WordPress desactivándolos temporalmente.

¿Puedo solucionar el error desde Syspanel (HestiaCP)?

Si usas Syspanel (antes conocido como HestiaCP), el proceso es similar. Accede por el puerto 2106 (ejemplo: https://tudominio.com:2106). Luego ve a "Bases de datos" y revisa los servicios en "Servidores" > "Servicios".

¿Es seguro cambiar la contraseña de la base de datos?

Sí, pero recuerda actualizar el archivo de configuración de tu aplicación inmediatamente después. Si no lo haces, tu sitio mostrará el error de conexión.

¿Por qué mi base de datos no conecta después de migrar el sitio?

Es común. Asegúrate de que el archivo de configuración tenga el nuevo nombre de base de datos, usuario y contraseña. También verifica que el host sea localhost o el que te proporcione tu nuevo hosting.


Resumen Final

El error conexión base de datos DirectAdmin puede ser frustrante, pero siguiendo estos pasos podrás solucionar error MySQL DirectAdmin en la mayoría de los casos. Recuerda:

  1. Verifica que el servicio MySQL esté activo.
  2. Revisa las credenciales en el archivo de configuración.
  3. Otorga permisos correctos al usuario.
  4. Ajusta firewall y bind-address si es necesario.
  5. Revisa logs para identificar causas específicas.
  6. Repara tablas corruptas y aumenta límites si es preciso.

Si después de todo el problema continúa, contacta a tu proveedor de hosting. Ellos tienen acceso completo al servidor y pueden diagnosticar problemas más profundos.

[INFO] La paciencia es clave. Muchos errores de conexión se resuelven con un simple reinicio del servicio o corrigiendo un carácter mal escrito en la contraseña. ¡No te rindas!

¿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