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

Solución de problemas comunes con bases de datos en DirectAdmin

Actualizado el 1 de septiembre de 2025

Introducción: Cuando tu web se vuelve “lenta” o da error

Si tienes una página web alojada en un servidor con DirectAdmin, es muy probable que en algún momento te encuentres con un mensaje de error relacionado con la base de datos. “Error de conexión”, “Tabla no encontrada”, “Demasiadas conexiones”… Estos avisos pueden asustar, pero la mayoría tienen una solución sencilla.

En este artículo vamos a recorrer los problemas más comunes con bases de datos en DirectAdmin y te daremos pasos claros para resolverlos. No necesitas ser un experto técnico; solo sigue las instrucciones y, si algo no funciona, recuerda que siempre puedes pedir ayuda a tu proveedor de hosting.


¿Por qué ocurren errores en la base de datos?

Las bases de datos son el “cerebro” de muchas webs dinámicas (como WordPress, Joomla, tiendas online, etc.). Cuando algo falla, la web no puede mostrar contenido o procesar pedidos.

Las causas más frecuentes son:

  • Conexiones simultáneas excesivas (demasiados visitantes o procesos).
  • Corrupción de tablas (por cortes de energía, errores de software, etc.).
  • Límites de recursos en el plan de hosting.
  • Configuración incorrecta en los archivos de la web.
  • Versiones incompatibles de PHP o MySQL/MariaDB.

Vamos a ver cómo identificar y solucionar cada uno de estos escenarios.


## 1. Error “Too many connections” (Demasiadas conexiones)

Este es uno de los más habituales. Aparece cuando tu web o aplicación intenta abrir más conexiones a la base de datos de las permitidas por el servidor.

### ¿Cómo saber si este es tu problema?

  • La web carga muy lento o da un error directo: “Warning: mysqli_connect(): (08004/1040): Too many connections”.
  • También puede aparecer en el panel de DirectAdmin al intentar acceder a phpMyAdmin.

### Solución paso a paso

  1. Revisa el límite actual de conexiones
    Desde DirectAdmin, ve a “MySQL Management” y busca la opción “Current Connections” o similar. Si ves un número cercano al límite (por ejemplo, 25/30), ese es el problema.

  2. Aumenta temporalmente el límite (si tu plan lo permite)

    • Ve a “MySQL Management” > “Edit Database” o “Limits”.
    • Aumenta el valor de “Max Connections” (por ejemplo, de 30 a 50).
    • Guarda los cambios y espera unos segundos.

    [TIP] Si no ves esta opción, contacta a tu proveedor de hosting para que lo ajuste.

  3. Optimiza las consultas de tu web
    Un plugin de caché (como WP Rocket o W3 Total Cache) reduce drásticamente las conexiones activas. También puedes instalar un plugin de optimización de base de datos (por ejemplo, WP-Optimize).

  4. Reinicia el servicio de MySQL/MariaDB
    Si el problema persiste, desde DirectAdmin ve a “System Information” > “Services” y busca “mysqld”. Haz clic en “Restart”. Esto cierra todas las conexiones colgadas.

[WARNING] Reiniciar MySQL cerrará todas las conexiones activas durante unos segundos. Tu web estará caída brevemente.


## 2. Error “Table ‘xxxx’ is marked as crashed” (Tabla corrupta)

Este error indica que una tabla de tu base de datos está dañada. Puede ocurrir por un corte de luz, un fallo del disco o una mala actualización.

### ¿Cómo reconocerlo?

  • En tu web aparece: “Error: Table ‘wp_options’ is marked as crashed and should be repaired”.
  • O en phpMyAdmin ves un mensaje rojo junto a una tabla.

### Solución: Reparar la tabla desde phpMyAdmin

  1. Accede a phpMyAdmin desde DirectAdmin:

    • Ve a “MySQL Management” > “phpMyAdmin”.
    • Selecciona la base de datos afectada (a la izquierda).
  2. Selecciona la tabla corrupta (normalmente tiene un icono de advertencia).

  3. Haz clic en la pestaña “Operations” (Operaciones).

  4. Busca la sección “Table maintenance” y haz clic en “Repair table”.

  5. Espera unos segundos. Si aparece “OK”, la tabla se ha reparado.

[INFO] Si no sabes qué tabla está corrupta, puedes reparar todas las tablas de una base de datos desde la pestaña “Check all” y luego “With selected” > “Repair table”.

### Solución alternativa: Usar la línea de comandos (SSH)

Si tienes acceso SSH, puedes ejecutar:

mysqlcheck -u usuario -p -r basededatos

Te pedirá la contraseña y luego reparará todas las tablas.


## 3. Error “Access denied for user” (Acceso denegado)

Este error suele deberse a que el usuario de la base de datos no tiene permisos o la contraseña es incorrecta.

### Pasos para solucionarlo

  1. Verifica la contraseña en el archivo de configuración de tu web.

    • Por ejemplo, en WordPress está en wp-config.php. Busca las líneas:
      define('DB_USER', 'usuario');
      define('DB_PASSWORD', 'contraseña');
      
    • Asegúrate de que coinciden con las que tienes en DirectAdmin.
  2. Reasigna los permisos del usuario

    • En DirectAdmin, ve a “MySQL Management”.
    • Busca la base de datos y haz clic en el icono de “Edit” o “Manage”.
    • Verifica que el usuario correcto está vinculado y tiene todos los privilegios (SELECT, INSERT, UPDATE, DELETE, etc.).
  3. Cambia la contraseña desde DirectAdmin

    • Si no recuerdas la contraseña, en “MySQL Management” > “User” puedes cambiarla. Luego actualízala en tu archivo de configuración.

[WARNING] No uses caracteres especiales como &, %, # en las contraseñas de MySQL, porque pueden dar problemas en los archivos de configuración.


## 4. Error “Connection refused” o “Host ‘…’ is not allowed to connect”

Este error indica que el servidor MySQL está bloqueando conexiones desde ciertas direcciones IP.

### Causas comunes

  • Tienes un firewall o restricciones de acceso en DirectAdmin.
  • Tu web intenta conectarse desde una IP diferente a la permitida.

### Solución

  1. Revisa la configuración de “Remote MySQL”

    • En DirectAdmin, ve a “MySQL Management” > “Remote MySQL”.
    • Si tu web está en el mismo servidor, no deberías necesitar acceso remoto. Si la web está en otro servidor, añade la IP del servidor web a la lista blanca.
  2. Verifica el archivo my.cnf (si tienes acceso SSH)

    • Busca la línea bind-address = 127.0.0.1. Si está así, solo acepta conexiones locales. Cámbiala a 0.0.0.0 si necesitas acceso remoto.
  3. Contacta a tu proveedor si no puedes modificar estas opciones.

[TIP] Para webs en el mismo servidor, siempre usa localhost como servidor de base de datos, no la IP pública.


## 5. Base de datos llena o límite de tamaño alcanzado

Los planes de hosting suelen tener un límite de almacenamiento para bases de datos. Si lo superas, empezarán a fallar las inserciones o actualizaciones.

### ¿Cómo saber si estás cerca del límite?

  • En DirectAdmin, ve a “MySQL Management” y mira el “Size” de cada base de datos.
  • Si ves que está cerca del máximo (por ejemplo, 1 GB en un plan básico), es hora de limpiar.

### Soluciones prácticas

  1. Elimina datos innecesarios

    • Borra revisiones antiguas de posts (en WordPress, usa el plugin WP-Optimize).
    • Vacía la papelera de comentarios y pedidos (en tiendas WooCommerce).
    • Elimina tablas de plugins que ya no uses.
  2. Optimiza las tablas
    Desde phpMyAdmin, selecciona todas las tablas y elige “Optimize table”. Esto libera espacio interno.

  3. Solicita un aumento de límite
    Si tu web crece, habla con tu proveedor para ampliar el espacio de base de datos.

[INFO] Algunos proveedores ofrecen bases de datos ilimitadas, pero con un límite de 1 GB por base. Siempre revisa las condiciones de tu plan.


## 6. Problemas con la versión de MySQL/MariaDB

A veces, una actualización de PHP o de tu CMS puede requerir una versión más reciente de MySQL. Si no es compatible, aparecen errores raros.

### ¿Qué hacer?

  1. Comprueba la versión actual
    En DirectAdmin, ve a “System Information” > “MySQL Version”.

  2. Cambia la versión (si tu proveedor lo permite)

    • En algunos paneles, puedes seleccionar entre MySQL 5.7, 8.0 o MariaDB 10.x desde “Select MySQL Version” en el menú de “MySQL Management”.
    • Haz el cambio y luego reinicia el servicio.
  3. Actualiza tu web
    Asegúrate de que tu CMS y plugins son compatibles con la nueva versión.

[WARNING] Cambiar la versión de MySQL puede romper temporalmente tu web si algún plugin no es compatible. Haz siempre una copia de seguridad antes.


## 7. Error “Lost connection to MySQL server during query”

Este error suele aparecer en consultas muy pesadas o cuando el servidor está sobrecargado.

### Soluciones

  1. Aumenta el tiempo de espera (timeout)

    • En phpMyAdmin, ve a “Variables” y busca “wait_timeout” y “max_execution_time”. Si puedes, súbelos a 300 segundos.
    • Si no tienes acceso, pídelo a tu proveedor.
  2. Divide consultas grandes
    Si tienes un script que procesa muchos datos, intenta ejecutarlo en lotes más pequeños.

  3. Mejora el rendimiento del servidor

    • Usa un plugin de caché.
    • Contrata un plan con más recursos.

## 8. Error al importar/exportar bases de datos grandes

Subir o bajar una base de datos de más de 50 MB puede dar errores de tiempo de ejecución o de límite de archivo.

### Solución para importar

  1. Usa la herramienta “Import” de phpMyAdmin

    • Si el archivo es muy grande, divide el SQL en partes (con herramientas como BigDump o MySQL Splitter).
  2. Usa la línea de comandos (SSH)
    Para importar:

    mysql -u usuario -p basededatos < archivo.sql
    

    Para exportar:

    mysqldump -u usuario -p basededatos > respaldo.sql
    
  3. Pide ayuda a tu proveedor si no tienes SSH.

[TIP] Siempre comprime los archivos SQL en .zip o .gz antes de subirlos. phpMyAdmin los descomprime automáticamente.


## Preguntas frecuentes (FAQ)

### ¿Cómo hago una copia de seguridad de mi base de datos en DirectAdmin?

  1. Ve a “MySQL Management”.
  2. Haz clic en el icono de “Download” junto a la base de datos.
  3. Se descargará un archivo .sql. Guárdalo en un lugar seguro.

### ¿Puedo cambiar el nombre de mi base de datos?

No directamente desde DirectAdmin. Deberías crear una nueva base de datos, exportar la antigua e importarla en la nueva, y luego actualizar los archivos de configuración de tu web.

### ¿Qué hago si no recuerdo la contraseña de la base de datos?

En DirectAdmin, ve a “MySQL Management” > “User” y selecciona “Change Password”. Luego actualiza la contraseña en tu web.

### ¿Es seguro usar phpMyAdmin?

Sí, siempre que accedas a través de DirectAdmin (conexión segura). No compartas el enlace directo de phpMyAdmin con nadie.

### ¿Puedo tener varias bases de datos en un mismo plan?

Sí, normalmente cada plan incluye un número determinado (por ejemplo, 5 o 10). Revisa tu límite en DirectAdmin.


## Conclusión

Los problemas con bases de datos en DirectAdmin son comunes, pero casi siempre tienen una solución sencilla. Recuerda:

  • Siempre haz copias de seguridad antes de hacer cambios importantes.
  • Mantén tu web y plugins actualizados para evitar incompatibilidades.
  • Si no puedes resolverlo, tu proveedor de hosting tiene herramientas y personal para ayudarte.

Con esta guía, ya puedes enfrentarte a los errores más típicos con confianza. ¡Tu web volverá a funcionar en pocos minutos!

[INFO] Si tu proveedor usa Syspanel (antes conocido como HestiaCP), el acceso a phpMyAdmin se hace desde el puerto 2106 (por ejemplo, https://tudominio.com:2106). El proceso de solución es similar al descrito.

¿Tienes alguna otra duda? Déjala en los comentarios o contacta con soporte. ¡Estamos aquí para ayudarte!

¿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