Resolución de problemas de base de datos en PrestaShop con Plesk
¿Tu tienda PrestaShop se ha vuelto lenta, muestra errores al conectar o directamente no carga? Es muy probable que el problema esté en la base de datos. En este artículo, te guiaré paso a paso para que puedas diagnosticar y solucionar los errores más comunes de base de datos en PrestaShop cuando usas Plesk. No necesitas ser un experto: vamos a usar herramientas visuales y comandos muy sencillos.
¿Por qué ocurren errores de base de datos en PrestaShop con Plesk?
La base de datos es el corazón de tu tienda: guarda productos, pedidos, clientes y configuraciones. Cuando algo falla, el sitio se vuelve inestable o deja de funcionar. Las causas más frecuentes son:
- Conexión incorrecta: Los datos de acceso (usuario, contraseña, nombre de base) no coinciden entre el archivo de configuración de PrestaShop y lo que tienes en Plesk.
- Versiones incompatibles: PrestaShop requiere una versión específica de MySQL o MariaDB. Si actualizas Plesk y cambia la versión, puede romperse la compatibilidad.
- Corrupción de tablas: Un cierre inesperado, un plugin conflictivo o una importación masiva pueden dañar las tablas de la base de datos.
- Límites de recursos: La base de datos se queda sin espacio en disco o supera el límite de conexiones simultáneas.
- Permisos incorrectos: El usuario de la base de datos no tiene todos los privilegios necesarios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.).
[INFO] En Plesk, la gestión de bases de datos se hace desde el panel de control. No necesitas acceso SSH para la mayoría de las soluciones que veremos aquí.
Primeros pasos: diagnóstico básico desde Plesk
Antes de modificar nada, identifiquemos el problema exacto. Sigue estos pasos:
1. Revisa el error que muestra PrestaShop
Cuando tu tienda falla, normalmente verás uno de estos mensajes:
- "Error de conexión a la base de datos" o "Link to database cannot be established". Indica que los datos de acceso son incorrectos o que el servidor de base de datos no responde.
- "Table 'ps_xxxx' doesn't exist" o "Table is marked as crashed". Señala que una tabla está corrupta o falta.
- "The MySQL server is running with the --read-only option". Significa que la base de datos está en modo solo lectura (por ejemplo, por falta de espacio).
Anota exactamente el texto del error. Te ayudará a saber por dónde empezar.
2. Accede a la base de datos desde Plesk
- Inicia sesión en Plesk.
- Ve a Bases de datos (dentro del dominio de tu tienda).
- Verás una lista con tus bases de datos. Haz clic en el nombre de la base de datos de PrestaShop.
- Dentro, encontrarás la herramienta phpMyAdmin. Haz clic en ella. Se abrirá una nueva pestaña con el gestor gráfico.
[TIP] Si no ves phpMyAdmin, puede que no esté instalado. En Plesk, puedes instalarlo desde Herramientas y configuraciones > Actualizaciones e instalaciones de componentes > Aplicaciones y buscar phpMyAdmin.
3. Verifica el estado de las tablas
Dentro de phpMyAdmin:
- A la izquierda, verás una lista de tablas (con prefijos como
ps_,pr_oprestashop_). - Selecciona todas las tablas (marca la casilla superior).
- En el menú desplegable inferior (donde dice "Con seleccionados:"), elige "Comprobar tabla".
- phpMyAdmin analizará cada tabla y te mostrará resultados como "OK" o "error". Si alguna aparece como "crashed" o "error", la siguiente sección te ayudará a repararla.
Soluciones paso a paso para errores comunes
🔹 Error de conexión: datos incorrectos
Este es el error más habitual después de mover la tienda a un nuevo servidor o restaurar una copia de seguridad.
- Localiza el archivo de configuración de PrestaShop. Normalmente está en la raíz de tu instalación y se llama
app/config/parameters.php(en PrestaShop 1.7 y 8.x) oconfig/settings.inc.php(en versiones 1.6 y anteriores). - Abre el archivo con el editor de archivos de Plesk (dentro de Archivos en el dominio). Busca las líneas que contienen:
'database_host'(normalmentelocalhosto127.0.0.1)'database_name'(el nombre exacto de tu base de datos en Plesk)'database_user'(el usuario que creaste para PrestaShop)'database_password'(la contraseña de ese usuario)
- Compara estos valores con los que ves en Plesk. En Bases de datos, al hacer clic en el nombre de tu base, verás el nombre, el usuario y la opción de cambiar la contraseña. Si no coinciden, corrígelos en el archivo.
- Guarda los cambios y recarga tu tienda.
[WARNING] Si cambias la contraseña desde Plesk, también debes actualizarla en el archivo
parameters.php. De lo contrario, PrestaShop no podrá conectar.
🔹 Tablas corruptas o "crashed"
Si en phpMyAdmin detectaste tablas con errores, repáralas así:
- En phpMyAdmin, selecciona las tablas dañadas (puedes usar Ctrl+clic para elegir varias).
- En el menú desplegable, elige "Reparar tabla".
- phpMyAdmin ejecutará el comando
REPAIR TABLE. Si todo va bien, verás el mensaje "OK". - Si la reparación falla, puedes intentar forzarla con una consulta SQL. Ve a la pestaña SQL y escribe:
SustituyeREPAIR TABLE nombre_de_la_tabla USE_FRM;nombre_de_la_tablapor el nombre exacto (ej.ps_product). - Si sigue sin funcionar, la tabla puede estar muy dañada. Entonces, la mejor opción es restaurar una copia de seguridad reciente de la base de datos.
[INFO] Siempre haz una copia de seguridad de la base de datos antes de reparar. En Plesk, puedes exportarla desde Bases de datos > nombre > Exportar.
🔹 Base de datos en modo solo lectura
Esto suele deberse a que el disco donde se almacena la base de datos está lleno.
- Verifica el espacio en disco. En Plesk, ve a Herramientas y configuraciones > Estado del servidor (o similar). Mira el porcentaje de uso del disco.
- Libera espacio eliminando archivos temporales, logs antiguos o copias de seguridad innecesarias. También puedes revisar la carpeta
adminXXXX/autoupgradede PrestaShop (si existe) y borrar backups viejos. - Una vez liberado espacio, la base de datos debería volver a modo lectura/escritura automáticamente. Si no, reinicia el servicio MySQL desde Herramientas y configuraciones > Servicios (busca "mysql" o "mariadb" y haz clic en "Reiniciar").
🔹 Versión de MySQL/MariaDB no compatible
PrestaShop 1.7 y 8.x requieren MySQL 5.6 o superior, o MariaDB 10.1 o superior. Si tu Plesk tiene una versión anterior, pueden aparecer errores extraños.
- Comprueba la versión. En phpMyAdmin, ve a la pestaña "Base de datos" y en la parte superior verás algo como "Servidor: MySQL 5.7.36" o "MariaDB 10.3.28".
- Si es muy antigua, contacta con tu proveedor de hosting para que actualice el servicio. En Plesk administrado por ti, puedes cambiar la versión desde Herramientas y configuraciones > Actualizaciones e instalaciones de componentes > Base de datos.
- Si es demasiado nueva, PrestaShop puede dar problemas con ciertas configuraciones. Por ejemplo, MySQL 8 requiere cambios en el plugin de autenticación. En ese caso, desde phpMyAdmin ejecuta:
ReemplazaALTER USER 'tu_usuario'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tu_contraseña'; FLUSH PRIVILEGES;tu_usuarioytu_contraseñacon los datos correctos.
Prevención: cómo evitar futuros errores
Un mantenimiento regular reduce drásticamente las posibilidades de que la base de datos falle.
🔹 Programa copias de seguridad automáticas
En Plesk, puedes configurar backups automáticos desde Herramientas y configuraciones > Administrador de copias de seguridad. Programa copias diarias o semanales de la base de datos y los archivos de la tienda.
🔹 Mantén PrestaShop y los módulos actualizados
Las actualizaciones corrigen errores de compatibilidad con la base de datos. Desde el back office de PrestaShop (si puedes acceder), ve a Mejorar > Módulos y servicios > Actualizaciones. Si no puedes acceder, actualiza manualmente los archivos.
🔹 Limita el tamaño de los logs
PrestaShop guarda logs de errores y actividad que pueden llenar la base de datos. Desde el back office, ve a Parámetros de la tienda > Rendimiento > Logs y establece un límite (por ejemplo, 1000 entradas). También puedes limpiarlos periódicamente con una consulta SQL:
TRUNCATE TABLE ps_log;
🔹 Usa un plugin de optimización de base de datos
Existen módulos gratuitos como "Cleaner" o "Optimize Database" que eliminan registros huérfanos, revisiones de productos y tablas temporales. Instálalos desde el back office y ejecútalos una vez al mes.
FAQ: preguntas frecuentes sobre base de datos PrestaShop Plesk
P: ¿Puedo cambiar el usuario de la base de datos desde Plesk sin romper la tienda?
R: Sí, pero debes actualizar también el archivo parameters.php de PrestaShop con el nuevo usuario y contraseña. Si no lo haces, la tienda dejará de funcionar.
P: ¿Por qué mi base de datos aparece vacía en phpMyAdmin?
R: Puede que hayas seleccionado la base de datos incorrecta. En Plesk, asegúrate de que el nombre de la base de datos en phpMyAdmin coincida con el que usas en PrestaShop. También revisa que el prefijo de las tablas (ej. ps_) sea el mismo.
P: Al restaurar una copia de seguridad, PrestaShop da error "Table already exists". ¿Qué hago?
R: La copia de seguridad incluye tablas que ya existen. Antes de restaurar, elimina todas las tablas de la base de datos desde phpMyAdmin (selecciona todas y elige "Eliminar"). Luego restaura la copia.
P: ¿Cómo sé si mi base de datos está usando InnoDB o MyISAM?
R: En phpMyAdmin, ve a la pestaña "Base de datos" y luego a "Estructura". Verás una columna "Tipo" (Engine). PrestaShop funciona mejor con InnoDB. Si tienes tablas MyISAM, puedes convertirlas con:
ALTER TABLE nombre_tabla ENGINE=InnoDB;
P: ¿Puedo acceder a la base de datos desde un programa externo como HeidiSQL o MySQL Workbench?
R: Sí, pero necesitas habilitar el acceso remoto en Plesk. Ve a Bases de datos > nombre > Configuración de acceso remoto y añade la IP de tu ordenador. Luego usa el mismo usuario y contraseña que en el archivo de configuración.
Conclusión: mantén tu tienda funcionando sin problemas
Los errores de base de datos PrestaShop Plesk pueden ser frustrantes, pero con las herramientas que te he mostrado (phpMyAdmin, el panel de Plesk y un par de consultas SQL) puedes resolver la mayoría de ellos en minutos. Recuerda:
- Siempre verifica los datos de conexión en
parameters.php. - Repara tablas corruptas desde phpMyAdmin.
- Mantén espacio libre en disco y versiones actualizadas.
- Programa backups automáticos para no perder datos.
Si después de seguir todos estos pasos el problema persiste, puede que haya un error más profundo en el servidor. En ese caso, contacta con tu proveedor de hosting y muéstrale los mensajes de error exactos. Con un poco de práctica, serás capaz de solucionar cualquier incidencia sin necesidad de ayuda externa. ¡Tu tienda online te lo agradecerá!
