Resolución de errores de base de datos en PrestaShop con DirectAdmin
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver juntos uno de los problemas más comunes cuando tienes una tienda online con PrestaShop alojada en un servidor con panel DirectAdmin: los errores de base de datos PrestaShop DirectAdmin. No te preocupes si no eres un experto, te guiaré paso a paso, con lenguaje claro y mucho cariño. Vamos allá.
¿Por qué aparecen errores de base de datos en PrestaShop?
PrestaShop guarda toda la información de tu tienda (productos, clientes, pedidos, configuraciones) en una base de datos MySQL. Cuando algo falla en esa conexión, tu tienda puede mostrar pantallazos en blanco, errores como “Error de conexión a la base de datos” o mensajes del tipo “MySQL server has gone away”. Estos errores pueden deberse a:
- Credenciales incorrectas (usuario, contraseña, nombre de base de datos).
- Servidor MySQL caído o sobrecargado.
- Límites de recursos alcanzados (número de conexiones, memoria).
- Tablas corruptas o mal optimizadas.
- Cambios en la configuración del hosting (por ejemplo, al migrar de servidor).
Como tu tienda está en DirectAdmin, te enseñaré a diagnosticar y solucionar cada uno de estos casos desde el panel de control.
Primeros auxilios: Verifica el estado del servidor MySQL
Antes de tocar nada, asegúrate de que el servicio MySQL esté funcionando. En DirectAdmin, esto se hace desde Admin Level o User Level, según tu acceso.
Pasos para comprobar MySQL en DirectAdmin (nivel usuario):
- Inicia sesión en DirectAdmin con tu usuario y contraseña.
- Busca la sección "Account Manager" o "Extra Features" y haz clic en "MySQL Management".
- Verás una lista de tus bases de datos. Aquí puedes ver el estado general. Si ves algún error, anótalo.
- Si tienes acceso a "System Info" (en algunos planes), busca el servicio "MySQL" y comprueba que esté en verde (activo).
[TIP] Si no ves la opción de MySQL, contacta con tu proveedor de hosting. Ellos pueden reiniciar el servicio desde el nivel administrador.
Desde SSH (si tienes acceso):
Si tu plan lo permite, puedes conectarte por SSH y ejecutar:
systemctl status mysql
Si está caído, reinícialo con:
systemctl restart mysql
Error MySQL PrestaShop: Credenciales incorrectas
Este es el error más frecuente, sobre todo después de mover tu tienda a un nuevo servidor. PrestaShop guarda los datos de conexión en el archivo app/config/parameters.php.
Cómo localizar y corregir las credenciales:
- Accede a tu servidor mediante FTP o el Administrador de Archivos de DirectAdmin.
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
public_htmlodomains/tudominio.com/public_html). - Abre la carpeta
app/config/y busca el archivoparameters.php. - Edítalo con un editor de texto (no uses Word, usa bloc de notas o un editor de código como Notepad++).
- Busca las líneas que empiezan con
'database_host','database_name','database_user'y'database_password'. - Verifica que coincidan exactamente con los datos que tienes en DirectAdmin > MySQL Management.
- Si no recuerdas la contraseña, puedes cambiarla desde DirectAdmin:
- En MySQL Management, haz clic en el icono de lápiz (editar) de tu base de datos.
- Introduce una nueva contraseña segura y guárdala.
- Actualiza el archivo
parameters.phpcon esa nueva contraseña.
[WARNING] Nunca uses caracteres especiales como
&,$o#en la contraseña, porque pueden romper el archivo PHP. Usa letras y números.
Error de conexión: "Too many connections" o "User already has more than 'max_user_connections'"
Esto ocurre cuando tu tienda recibe muchos visitantes o hay procesos en segundo plano que consumen todas las conexiones permitidas.
Soluciones desde DirectAdmin:
-
Aumenta el límite de conexiones (si tu plan lo permite):
- Ve a "MySQL Management" y busca la opción "Edit Limits" o "Resource Limits".
- Aumenta el valor de
max_connections(por ejemplo, de 30 a 100). Si no ves esta opción, pide a tu hosting que lo haga.
-
Optimiza el archivo de configuración de MySQL (my.cnf):
- Si tienes acceso a "Custom HTTPD Config" o "PHP/MySQL Config" en DirectAdmin, busca la sección de MySQL.
- Añade o modifica estas líneas (pide ayuda a tu hosting si no sabes):
max_connections = 150 max_user_connections = 50 - Luego reinicia MySQL desde el panel.
-
Activa la caché de PrestaShop para reducir consultas:
- Desde el back office de PrestaShop: Parámetros avanzados > Rendimiento.
- Activa la caché (recomiendo Sistema de archivos o Memcached si tu hosting lo soporta).
Tablas corruptas: El error "Table 'xxx' is marked as crashed"
Este error aparece cuando una tabla de la base de datos se daña por un cierre incorrecto o un fallo del servidor.
Cómo reparar tablas desde DirectAdmin:
- Entra a phpMyAdmin desde DirectAdmin:
- En el panel, busca "phpMyAdmin" (suele estar en "Extra Features" o "Database Management").
- Selecciona tu base de datos de PrestaShop (a la izquierda).
- Marca todas las tablas (puedes usar el check superior).
- En el menú desplegable "Con seleccionados:", elige "Reparar tabla".
- Espera a que termine. Si alguna no se repara, prueba con "Forzar reparación" (disponible en versiones recientes).
Reparación automática desde SSH (si tienes acceso):
mysqlcheck -u usuario -p --auto-repair basededatos
Te pedirá la contraseña. Si no recuerdas el usuario, búscalo en parameters.php.
[INFO] Si el error persiste, puede ser que el disco esté lleno o haya problemas de hardware. Contacta con tu hosting.
Error "MySQL server has gone away" en PrestaShop
Este error suele deberse a que el servidor MySQL cierra la conexión por inactividad o porque el tamaño de los datos supera el límite permitido.
Ajustes desde DirectAdmin:
-
Aumenta el tiempo de espera (wait_timeout):
- En phpMyAdmin, ve a "Variables" (pestaña superior).
- Busca
wait_timeout. Si está en 30 segundos, cámbialo a 300 (5 minutos) o más. - También busca
max_allowed_packet. Si está en 16MB, súbelo a 64MB o 128MB.
-
Edita el archivo my.cnf (si tu hosting lo permite):
- Añade o modifica:
[mysqld] wait_timeout = 300 max_allowed_packet = 128M - Reinicia MySQL.
- Añade o modifica:
-
Desde PrestaShop, aumenta el tiempo de ejecución:
- En el archivo
/config/defines.inc.php, busca_PS_MYSQL_ENGINE_y asegúrate de que no haya límites. También puedes añadir al principio:ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
- En el archivo
PrestaShop DirectAdmin DB: Cómo hacer una copia de seguridad antes de cualquier cambio
Siempre, siempre, haz una copia de seguridad antes de modificar la base de datos. En DirectAdmin es muy sencillo:
- Ve a "MySQL Management".
- Haz clic en el nombre de tu base de datos.
- Busca el botón "Download a backup" o "Backup".
- Se descargará un archivo
.sqlcon toda tu información.
[TIP] Guarda esa copia en tu ordenador y también en un servicio en la nube. Si algo sale mal, podrás restaurarla desde phpMyAdmin con la opción "Importar".
FAQ: Preguntas frecuentes sobre errores de base de datos
¿Qué hago si no recuerdo la contraseña de la base de datos?
Desde DirectAdmin, en MySQL Management, puedes cambiar la contraseña de cualquier usuario. Luego actualiza el archivo parameters.php de PrestaShop.
¿Puedo usar Syspanel (HestiaCP) para gestionar la base de datos?
Si tu hosting usa Syspanel (el panel basado en HestiaCP), accede por el puerto 2106 (ejemplo: https://tudominio.com:2106). Allí encontrarás una sección de Bases de datos similar a DirectAdmin. Los pasos para reparar o cambiar credenciales son prácticamente los mismos.
¿Por qué mi tienda se vuelve lenta después de un error de base de datos?
Puede que haya tablas sin optimizar. Desde phpMyAdmin, selecciona todas las tablas y elige "Optimizar tabla". También revisa los logs de errores de PrestaShop en la carpeta /var/logs/ (en la raíz de tu tienda).
¿El error "PDOException" tiene que ver con la base de datos?
Sí, es un error de conexión. Sigue los pasos de credenciales y verifica que el servicio MySQL esté activo. Si usas PHP 8.0 o superior, asegúrate de que el módulo pdo_mysql esté instalado (pregunta a tu hosting).
Resumen rápido: Checklist para resolver errores de base de datos PrestaShop DirectAdmin
- ✅ Comprueba que MySQL esté activo en DirectAdmin.
- ✅ Verifica credenciales en
app/config/parameters.php. - ✅ Repara tablas desde phpMyAdmin si hay tablas corruptas.
- ✅ Aumenta límites de conexión y tiempo de espera si hay errores de "gone away".
- ✅ Haz una copia de seguridad antes de tocar nada.
- ✅ Si todo falla, contacta a tu proveedor de hosting con el mensaje de error exacto.
Espero que este artículo te haya sido de gran ayuda. Recuerda que los errores de base de datos PrestaShop DirectAdmin son comunes pero, con paciencia y estos pasos, podrás resolverlos tú mismo. Si te surge alguna duda, déjala en los comentarios (si tu plataforma lo permite) o contacta con tu soporte técnico. ¡Tu tienda online volverá a funcionar en un abrir y cerrar de ojos!
¡Mucho éxito con tu PrestaShop!
