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

Cómo cambiar el prefijo de las tablas en una base de datos de PrestaShop

Actualizado el 8 de abril de 2026

¿Por qué deberías cambiar el prefijo de las tablas en PrestaShop?

Cuando instalas PrestaShop por primera vez, el instalador asigna un prefijo estándar a todas las tablas de tu base de datos. Este prefijo, por defecto, es ps_. Aunque esto es totalmente funcional, también es un detalle que los atacantes conocen perfectamente.

Piensa en tu base de datos como el almacén de tu tienda. El prefijo de las tablas es como la etiqueta de las cajas. Si todas las cajas tienen la misma etiqueta genérica, es más fácil para alguien con malas intenciones identificar qué contiene cada una y cómo acceder a ellas.

Cambiar el prefijo de las tablas es una medida de seguridad PrestaShop muy recomendada. No es una solución mágica que haga tu tienda invulnerable, pero añade una capa extra de dificultad para los bots y scripts maliciosos que intentan ataques de inyección SQL. Al cambiar el prefijo, cualquier intento automatizado que asuma que tus tablas se llaman ps_orders, ps_customers, etc., fallará estrepitosamente.

En esta guía, te explicaré paso a paso cómo realizar este cambio de forma segura, tanto si tienes acceso a herramientas como phpMyAdmin como si utilizas un panel de control como Syspanel (recuerda, el puerto de acceso es el 2106). No te preocupes si no eres un experto en bases de datos, lo haremos de una forma muy visual y sencilla.

[WARNING]: Antes de empezar, es OBLIGATORIO que hagas una copia de seguridad completa de tu base de datos y de los archivos de tu tienda. Este proceso modifica la estructura de tu tienda y un error podría dejarla inaccesible. Si no sabes cómo hacer una copia de seguridad, contacta con tu proveedor de hosting o busca la opción en tu panel de control. No continúes sin esta copia de seguridad.


Herramientas necesarias para el cambio

Para llevar a cabo este cambio, necesitas acceso a la base de datos de tu PrestaShop. Generalmente, tienes dos opciones:

  1. phpMyAdmin: Es la herramienta más común y la encontrarás en el panel de control de tu hosting (cPanel, Plesk, etc.). Es una interfaz web que te permite gestionar tu base de datos de forma visual.
  2. Syspanel (HestiaCP): Si tu hosting utiliza este panel, también tienes acceso a phpMyAdmin a través de él. Simplemente inicia sesión en Syspanel (puerto 2106) y busca la sección de bases de datos.

Además, necesitarás un editor de texto plano (como el Bloc de notas o Sublime Text) para editar un archivo de configuración. No uses procesadores de texto como Word, ya que pueden añadir formato no deseado.


Paso 1: Identificar tu prefijo actual y el nuevo prefijo

Lo primero es saber con qué prefijo estás trabajando. La mayoría de las instalaciones usan ps_, pero es bueno confirmarlo.

¿Cómo ver el prefijo actual?

  1. Accede a tu herramienta de gestión de bases de datos (phpMyAdmin o similar).
  2. En el panel izquierdo, verás la lista de tus bases de datos. Haz clic en el nombre de la base de datos de tu PrestaShop.
  3. A la derecha, verás la lista de todas las tablas. El prefijo es la parte del nombre que se repite al principio de todas ellas. Por ejemplo: ps_address, ps_cart, ps_orders. En este caso, el prefijo es ps_.

Elegir un nuevo prefijo

Ahora, piensa en un nuevo prefijo. Debe ser algo que no sea fácil de adivinar. Evita usar ps_, presta_, shop_ o cualquier cosa similar.

[TIP]: Un buen prefijo es una combinación aleatoria de letras y números. Por ejemplo, x9k2_ o mz7q_. No te preocupes por que sea difícil de recordar, lo apuntarás en un lugar seguro. La seguridad es más importante que la comodidad.


Paso 2: Editar el archivo de configuración (parameters.php)

Este es el paso más importante y el que conecta tu tienda con la nueva estructura de la base de datos. El archivo que debes modificar se llama parameters.php y se encuentra en la carpeta app/config/ de tu instalación de PrestaShop.

  1. Conéctate a tu servidor mediante FTP o a través del administrador de archivos de tu panel de control (Syspanel, cPanel, etc.).
  2. Navega hasta la carpeta app/config/.
  3. Busca el archivo parameters.php. Descárgalo a tu ordenador y ábrelo con un editor de texto plano.
  4. Dentro del archivo, busca una línea que contiene algo similar a esto:
    'database_prefix' => 'ps_',
    
    Aquí es donde verás tu prefijo actual.
  5. IMPORTANTE: No modifiques nada más en este archivo. Solo vamos a cambiar el valor de database_prefix.
  6. Cambia el valor 'ps_' por tu nuevo prefijo. Por ejemplo:
    'database_prefix' => 'x9k2_',
    
  7. Guarda el archivo y súbelo de nuevo a tu servidor, reemplazando el original.

[WARNING]: Asegúrate de que el archivo se suba en modo ASCII (no binario). Si usas un cliente FTP, esta opción suele estar activada por defecto. Si el archivo se corrompe, tu tienda dará un error. Vuelve a comprobar que has subido el archivo correctamente.


Paso 3: Cambiar el prefijo en todas las tablas de la base de datos

Ahora viene la parte más laboriosa: renombrar todas las tablas. Tienes dos opciones: hacerlo manualmente con comandos SQL o usar una herramienta que lo automatice. Te explicaré ambas.

Opción A: Usando comandos SQL en phpMyAdmin (Método manual y controlado)

Este método te da un control total del proceso. Vamos a generar un comando SQL que renombre todas las tablas.

  1. Ve a tu base de datos en phpMyAdmin.

  2. Haz clic en la pestaña "SQL" en la parte superior.

  3. Copia y pega el siguiente código, pero reemplaza ps_ por tu prefijo actual y x9k2_ por tu nuevo prefijo. NO EJECUTES AÚN.

    SELECT CONCAT('RENAME TABLE ', table_name, ' TO ', REPLACE(table_name, 'ps_', 'x9k2_'), ';')
    FROM information_schema.tables
    WHERE table_schema = 'TU_NOMBRE_DE_BASE_DE_DATOS' AND table_name LIKE 'ps_%';
    

    IMPORTANTE: Sustituye TU_NOMBRE_DE_BASE_DE_DATOS por el nombre real de tu base de datos. Lo puedes ver en la parte superior de phpMyAdmin o en tu panel de control.

  4. Pulsa en "Continuar" o el botón de ejecutar. Esto no cambiará nada, solo te mostrará una lista de comandos RENAME TABLE.

  5. Verás una serie de líneas como esta:

    RENAME TABLE ps_address TO x9k2_address;
    RENAME TABLE ps_cart TO x9k2_cart;
    
  6. Copia todos estos comandos generados.

  7. Abre de nuevo la pestaña "SQL" y pega los comandos que has copiado.

  8. Pulsa en "Continuar" para ejecutarlos.

¡Enhorabuena! Todas tus tablas ahora tienen el nuevo prefijo.

[INFO]: Si tu base de datos es muy grande (con cientos de tablas), este proceso puede tardar unos segundos. No cierres la ventana del navegador mientras se ejecuta.

Opción B: Usando un script PHP (Método automatizado)

Si no te sientes cómodo con SQL, puedes usar un pequeño script PHP que hará el trabajo por ti. Crea un archivo llamado cambiar_prefijo.php con el siguiente contenido:

<?php
// Configuración
$servidor = 'localhost'; // Normalmente es 'localhost'
$usuario = 'TU_USUARIO';
$contrasena = 'TU_CONTRASENA';
$base_datos = 'TU_BASE_DE_DATOS';
$prefijo_viejo = 'ps_';
$prefijo_nuevo = 'x9k2_';

// Conexión
$conexion = new mysqli($servidor, $usuario, $contrasena, $base_datos);
if ($conexion->connect_error) {
    die('Error de conexión: ' . $conexion->connect_error);
}

// Obtener tablas
$sql = "SHOW TABLES LIKE '$prefijo_viejo%'";
$resultado = $conexion->query($sql);

if ($resultado->num_rows === 0) {
    die('No se encontraron tablas con el prefijo ' . $prefijo_viejo);
}

$contador = 0;
while ($fila = $resultado->fetch_array()) {
    $tabla_vieja = $fila[0];
    $tabla_nueva = $prefijo_nuevo . substr($tabla_vieja, strlen($prefijo_viejo));
    $sql_rename = "RENAME TABLE `$tabla_vieja` TO `$tabla_nueva`";
    if ($conexion->query($sql_rename) === TRUE) {
        echo "Tabla $tabla_vieja renombrada a $tabla_nueva<br>";
        $contador++;
    } else {
        echo "Error al renombrar $tabla_vieja: " . $conexion->error . "<br>";
    }
}
echo "Proceso completado. $contador tablas fueron renombradas.";
$conexion->close();
?>
  1. Edita el archivo con tus datos de acceso a la base de datos y los prefijos.
  2. Sube el archivo a la raíz de tu tienda (donde está la carpeta admin).
  3. Ejecuta el script desde tu navegador: www.tutienda.com/cambiar_prefijo.php.
  4. Verás el progreso del cambio.
  5. BORRA INMEDIATAMENTE el archivo cambiar_prefijo.php de tu servidor. Es un riesgo de seguridad tenerlo.

Paso 4: Limpiar la caché de PrestaShop

PrestaShop guarda muchos datos en caché para funcionar más rápido. Después de cambiar el prefijo, es posible que la caché antigua cause conflictos. Para evitarlo, es recomendable limpiarla.

  1. Accede a tu panel de administración de PrestaShop.
  2. Ve al menú "Parámetros avanzados" y luego a "Rendimiento".
  3. Haz clic en el botón "Vaciar la caché" en la parte superior de la página.
  4. Si tu tienda no carga, también puedes borrar manualmente el contenido de la carpeta var/cache/ (o cache/ en versiones antiguas) a través de tu FTP. No borres la carpeta en sí, solo su contenido.

[TIP]: Después de limpiar la caché, visita tu tienda en modo incógnito para asegurarte de que todo funciona correctamente. Revisa la página de inicio, una categoría, un producto y el carrito.


Paso 5: Verificar que todo funciona

Una vez realizado el cambio, es fundamental probar que todo está en orden.

  1. Accede a tu tienda: Comprueba que la página principal carga sin errores.
  2. Accede al panel de administración: Entra en tu /admin y verifica que puedes ver los pedidos, clientes, productos, etc.
  3. Realiza una compra de prueba: Añade un producto al carrito y completa el proceso de compra (puedes usar el modo de pago por transferencia o un módulo de pago en modo test). Esto verificará que las tablas de pedidos y clientes funcionan.
  4. Revisa los logs: En el panel de administración, ve a "Parámetros avanzados" > "Información" y comprueba si hay algún error reciente.

Preguntas frecuentes (FAQ)

¿Puedo cambiar el prefijo de las tablas sin acceso a phpMyAdmin?

Es muy difícil. Necesitas acceso a la base de datos para ejecutar los comandos RENAME TABLE. Si no tienes acceso directo, contacta con tu proveedor de hosting. Ellos podrían hacerlo por ti, pero es un proceso que requiere que les des el nuevo prefijo.

¿Qué pasa si me olvido de cambiar el archivo parameters.php?

Si cambias las tablas pero no el archivo de configuración, tu tienda dará un error de conexión con la base de datos, mostrando un mensaje como "Link to database cannot be established". Simplemente, tendrías que volver a subir el archivo parameters.php con el prefijo correcto.

¿Es necesario cambiar el prefijo si mi tienda es pequeña?

Aunque tu tienda sea pequeña, la seguridad es importante. Es una buena práctica implementar esta medida desde el principio. El esfuerzo es el mismo, independientemente del tamaño.

¿Este cambio afecta a mis productos, pedidos o clientes?

No, el cambio de prefijo no altera los datos en sí. Solo cambia el nombre de las "cajas" donde se guardan. La información permanece intacta.

¿Qué es exactamente un ataque de inyección SQL?

Es un tipo de ataque donde el intruso intenta introducir código SQL malicioso en los campos de tu tienda (como el buscador o el formulario de contacto) para manipular tu base de datos. Conocer el prefijo de las tablas facilita estos ataques, por eso cambiarlo añade una barrera.

¿Puedo usar el prefijo wp_ para despistar?

Es una idea, pero no es muy efectiva. Los atacantes también conocen los prefijos de otros CMS como WordPress. Lo mejor es usar una combinación aleatoria.


Conclusión

Cambiar el prefijo de las tablas en PrestaShop es un proceso sencillo pero que requiere atención y cuidado. Es una de las medidas de seguridad PrestaShop más efectivas y fáciles de implementar, ya que dificulta los ataques automatizados a tu base de datos.

Recuerda los pasos clave:

  1. Haz una copia de seguridad.
  2. Edita el archivo parameters.php con el nuevo prefijo.
  3. Renombra todas las tablas de tu base de datos.
  4. Limpia la caché de tu tienda.
  5. Verifica que todo funciona correctamente.

Si has seguido esta guía, tu tienda será un poco más segura. Este es un gran paso para proteger tu negocio online. Si tienes alguna duda, no dudes en consultar los foros de la comunidad de PrestaShop o contactar con tu soporte técnico.

¿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