Guía para solucionar problemas de base de datos en PrestaShop con cPanel
Introducción: ¿Por qué tu tienda PrestaShop muestra un error de base de datos?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de error como “Error de conexión a la base de datos” o “Table ‘ps_xxx’ doesn’t exist” al intentar acceder a tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes y, en la mayoría de los casos, tiene solución. En esta guía te explicaré paso a paso cómo diagnosticar y reparar problemas relacionados con la base datos PrestaShop cPanel, utilizando las herramientas que ofrece tu panel de hosting.
Vamos a cubrir desde los errores más básicos (como credenciales incorrectas) hasta la reparación de tablas dañadas. Todo explicado de forma clara y sin tecnicismos innecesarios.
¿Qué causa un error de conexión a la base de datos en PrestaShop?
Antes de ponernos manos a la obra, es útil entender por qué ocurre. Los motivos más frecuentes son:
- Credenciales incorrectas en el archivo
app/config/parameters.php(oconfig/settings.inc.phpen versiones antiguas). - La base de datos no existe o ha sido eliminada accidentalmente.
- El usuario de la base de datos no tiene permisos suficientes.
- El servidor de bases de datos (MySQL/MariaDB) está caído o sobrecargado.
- Tablas corruptas debido a cortes de energía, plugins defectuosos o actualizaciones fallidas.
- Límite de conexiones excedido en tu plan de hosting.
Paso 1: Accede a cPanel y localiza la sección de bases de datos
Lo primero es entrar a tu panel de control. Si tu hosting usa cPanel, estas son las herramientas que nos interesan:
- phpMyAdmin: Para gestionar y reparar tablas.
- MySQL Databases: Para verificar usuarios y permisos.
- MySQL Remote: Para comprobar conexiones externas (si aplica).
[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso es similar pero a través del puerto 2106. Busca la sección “Bases de Datos” o “phpMyAdmin” dentro del panel.
Paso 2: Verifica las credenciales en el archivo de configuración de PrestaShop
El error más común es tener mal escritos el nombre de la base de datos, el usuario o la contraseña. Para comprobarlo:
- Conéctate a tu hosting mediante FTP o el Administrador de Archivos de cPanel.
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
public_htmlo una subcarpeta). - Localiza el archivo
app/config/parameters.php. Si tu versión es anterior a la 1.7, buscaconfig/settings.inc.php. - Ábrelo con un editor de texto (como el bloc de notas o el editor de cPanel).
- Busca las líneas que contienen:
database_host(normalmentelocalhosto127.0.0.1)database_namedatabase_userdatabase_password
¿Qué debes comprobar?
- Que el nombre de la base de datos coincida exactamente con el que ves en cPanel (a veces incluye el prefijo de tu usuario, ej:
usuarioxx_bdpresta). - Que el usuario sea el correcto y que la contraseña esté bien escrita (sin espacios al final).
- Que el host sea
localhost(a menos que tu hosting te indique lo contrario).
[TIP] Si no recuerdas la contraseña, puedes cambiarla desde cPanel > MySQL Databases > junto al usuario, haz clic en “Change Password”.
Paso 3: Repara la base de datos desde phpMyAdmin
Si las credenciales son correctas pero el error persiste, es posible que algunas tablas estén dañadas. phpMyAdmin tiene una herramienta de reparación muy sencilla.
- En cPanel, haz clic en phpMyAdmin.
- En el panel izquierdo, selecciona la base de datos de tu PrestaShop (la que aparece en el archivo de configuración).
- Verás una lista de todas las tablas (normalmente empiezan con
ps_o el prefijo que hayas elegido). - Selecciona todas las tablas marcando la casilla de “Seleccionar todo” (suele estar al final de la lista).
- En el menú desplegable “Con seleccionados:”, elige “Reparar tabla”.
- phpMyAdmin ejecutará el comando
REPAIR TABLEy te mostrará los resultados. Si todo va bien, verás un mensaje verde de “OK”.
[WARNING] Si el proceso falla o ves mensajes de error como “Table is marked as crashed”, puede que la corrupción sea más grave. En ese caso, prueba también la opción “Verificar tabla” y, si sigue fallando, contacta con el soporte de tu hosting.
Paso 4: Optimiza la base de datos (opcional pero recomendado)
Después de reparar, es buena práctica optimizar las tablas para liberar espacio y mejorar el rendimiento.
- Sigue los pasos 1-3 del paso anterior.
- En lugar de “Reparar tabla”, elige “Optimizar tabla”.
- Esto reorganizará los datos y eliminará fragmentación.
[INFO] La optimización no es estrictamente necesaria para solucionar un error, pero ayuda a que tu tienda vaya más rápido y reduce la probabilidad de futuros problemas.
Paso 5: Comprueba los permisos del usuario de la base de datos
A veces el usuario tiene permisos limitados y PrestaShop no puede escribir en las tablas (por ejemplo, al instalar un módulo o actualizar).
- En cPanel, ve a MySQL Databases.
- Desplázate hasta la sección “Usuarios en bases de datos”.
- Verás una lista de usuarios asociados a tu base de datos. Al lado, un enlace que dice “Privilegios” o “Editar”.
- Haz clic y asegúrate de que TODOS los privilegios están marcados (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). Lo más seguro es marcar “ALL PRIVILEGES”.
[TIP] Si no ves el usuario, puedes añadirlo desde la misma sección. Selecciona el usuario y la base de datos y haz clic en “Añadir”.
Paso 6: Revisa el archivo .htaccess y la configuración del servidor
En casos raros, un error de conexión puede deberse a reglas de redirección o límites del servidor.
- Revisa el .htaccess en la raíz de PrestaShop. Si lo has modificado recientemente, prueba a renombrarlo a
.htaccess_backupy genera uno nuevo desde el backoffice (Parámetros de la tienda > Tráfico y SEO > Generar .htaccess). - Verifica los logs de errores en cPanel (sección “Errores” o “Error Log”). Busca mensajes como
Can't connect to MySQL serveroToo many connections. - Si ves “Too many connections”, puede que tu plan de hosting tenga un límite bajo. Contacta con tu proveedor para aumentarlo o cierra procesos inactivos desde phpMyAdmin.
Paso 7: Prueba con un archivo de prueba de conexión
Si después de todo lo anterior el error conexión PrestaShop persiste, podemos hacer una prueba directa para descartar que sea un problema del script de PrestaShop.
- Crea un archivo llamado
test_db.phpen la raíz de tu tienda. - Pega este código, reemplazando los valores con los tuyos:
<?php
$host = 'localhost';
$dbname = 'tu_base_de_datos';
$user = 'tu_usuario';
$pass = 'tu_contraseña';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
echo "Conexión exitosa a la base de datos.";
} catch (PDOException $e) {
echo "Error de conexión: " . $e->getMessage();
}
?>
- Accede a
tudominio.com/test_db.php. Si ves “Conexión exitosa”, el problema está en la configuración de PrestaShop. Si ves un error, el problema es del servidor o las credenciales.
[WARNING] Elimina este archivo después de la prueba, ya que expone información sensible.
Preguntas Frecuentes (FAQ)
¿Qué hago si phpMyAdmin no me deja reparar las tablas?
Puedes intentar reparar desde la línea de comandos si tienes acceso SSH, pero si no, contacta con el soporte de tu hosting. A veces necesitan ejecutar mysqlcheck a nivel de servidor.
¿Por qué mi base de datos aparece vacía en phpMyAdmin?
Posiblemente la hayas eliminado sin querer o el hosting haya hecho una limpieza. Si tienes una copia de seguridad, restáurala desde cPanel > Backup o phpMyAdmin > Importar. Si no tienes copia, contacta con soporte inmediatamente.
¿El error “Table ‘ps_xxx’ doesn’t exist” se soluciona reparando?
No siempre. Ese error indica que la tabla no existe, no que esté dañada. Puede deberse a:
- Una instalación incompleta de un módulo.
- Una actualización fallida de PrestaShop.
- Alguien eliminó la tabla manualmente.
Solución: Restaura la tabla desde una copia de seguridad o reinstala el módulo/parche correspondiente.
¿Debo usar siempre “localhost” como host de la base de datos?
En el 99% de los casos sí. Si tu hosting usa servidores separados para la base de datos, te habrán proporcionado un host específico (ej: mysql.tudominio.com). Revísalo en la bienvenida de tu hosting o en cPanel > MySQL Databases > “Remote MySQL”.
Conclusión: Mantén tu base de datos sana
Hemos recorrido desde lo más básico (verificar credenciales) hasta técnicas de reparación avanzadas. La clave para evitar estos problemas es:
- Hacer copias de seguridad periódicas (automáticas desde cPanel).
- Actualizar PrestaShop y sus módulos con cuidado.
- No modificar archivos de configuración a menos que sepas lo que haces.
- Usar un hosting de calidad que ofrezca soporte para MySQL/MariaDB actualizado.
Si después de seguir todos los pasos el error conexión PrestaShop continúa, no dudes en contactar con el soporte técnico de tu hosting. Ellos tienen acceso a herramientas de diagnóstico más profundas y podrán revisar los logs del servidor.
Espero que esta guía te haya sido de ayuda. ¡Buena suerte con tu tienda!
