Crear usuario y privilegios en base de datos MySQL para PrestaShop en Plesk
Crear un usuario y asignarle los privilegios correctos a la base de datos MySQL para tu tienda PrestaShop en Plesk es un paso fundamental para asegurar que tu instalación funcione de manera estable y segura.
Aunque pueda sonar a algo muy técnico, no te preocupes. En esta guía te lo explicamos paso a paso, como si estuvieras viendo la pantalla de tu panel de control. Al final, tendrás tu base de datos lista y tu usuario configurado con los permisos exactos que necesita PrestaShop para operar.
¿Por qué es importante crear un usuario específico para PrestaShop?
Cuando instalas PrestaShop, el sistema necesita comunicarse con una base de datos MySQL para guardar productos, pedidos, clientes y configuraciones. Para ello, necesita un "usuario" que tenga permiso para leer y escribir en esa base de datos.
Usar el usuario administrador principal de MySQL (normalmente root) para tu tienda es una mala práctica de seguridad. Si alguien logra acceder a ese usuario, podría modificar o borrar todas tus bases de datos.
Por eso, lo más recomendable es:
- Crear un usuario exclusivo para PrestaShop.
- Asignarle solo los privilegios que necesita.
- Usar una contraseña segura.
Plesk facilita muchísimo este proceso, ya que lo hace desde una interfaz gráfica, sin necesidad de escribir comandos complicados.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso a Plesk como administrador o como usuario con permisos para gestionar bases de datos.
- Tener claro el nombre de tu dominio o sitio web donde instalarás PrestaShop.
- (Opcional) Saber qué versión de MySQL tienes, aunque Plesk lo maneja automáticamente.
Paso 1: Acceder al gestor de bases de datos en Plesk
- Inicia sesión en tu panel de Plesk.
- En el menú lateral izquierdo, busca la sección "Bases de datos". Si no la ves directamente, puede estar dentro de "Sitios web y dominios".
- Haz clic en "Agregar base de datos" o "Crear nueva base de datos".
Paso 2: Crear la base de datos para PrestaShop
- En el formulario que aparece, escribe un nombre para tu base de datos. Por ejemplo:
tienda_prestashop. - Plesk te sugerirá un nombre relacionado con tu dominio, pero puedes personalizarlo.
- En el campo "Tipo de base de datos", asegúrate de seleccionar MySQL.
- (Opcional) Puedes elegir la versión de MySQL, aunque Plesk suele usar la predeterminada.
- Haz clic en "Aceptar" o "Crear".
Una vez creada, verás la base de datos en la lista. Ahora necesitas crear el usuario.
Paso 3: Crear el usuario de MySQL para PrestaShop
- Dentro de la misma sección de "Bases de datos", busca la base de datos que acabas de crear.
- Haz clic en el nombre de la base de datos para abrir sus detalles.
- Busca la pestaña o sección llamada "Usuarios" o "Agregar nuevo usuario".
- Rellena los campos:
- Nombre de usuario: Por ejemplo,
usuario_prestashop. - Contraseña: Elige una contraseña segura (mínimo 8 caracteres, combinando letras mayúsculas, minúsculas, números y símbolos). Plesk suele tener un generador automático.
- Confirmar contraseña: Repite la contraseña.
- Nombre de usuario: Por ejemplo,
- Haz clic en "Aceptar" o "Crear usuario".
[TIP] Anota en un lugar seguro el nombre de usuario y la contraseña. Los necesitarás durante la instalación de PrestaShop.
Paso 4: Asignar los privilegios correctos al usuario
Ahora viene la parte más importante: darle al usuario los permisos adecuados. PrestaShop necesita poder leer, escribir, modificar y borrar datos en la base de datos para funcionar correctamente. Sin embargo, no necesita permisos para gestionar otros usuarios ni para crear bases de datos.
¿Qué privilegios necesita PrestaShop?
Los privilegios esenciales para PrestaShop son:
- SELECT: Para leer datos.
- INSERT: Para agregar nuevos datos (productos, pedidos, etc.).
- UPDATE: Para modificar datos existentes.
- DELETE: Para eliminar datos (por ejemplo, al borrar un producto).
- CREATE: Para crear tablas temporales durante la instalación o actualizaciones.
- DROP: Para eliminar tablas (necesario durante actualizaciones).
- ALTER: Para modificar la estructura de las tablas (también para actualizaciones).
- INDEX: Para gestionar índices y mejorar el rendimiento.
- REFERENCES: Para relaciones entre tablas (aunque no siempre es obligatorio, es seguro darlo).
Cómo asignar los privilegios en Plesk
- Dentro de los detalles de tu base de datos, busca la sección "Usuarios".
- Verás una lista de usuarios asociados. Busca el que acabas de crear.
- Haz clic en el icono de "Editar" (normalmente un lápiz) junto al usuario.
- Se abrirá una ventana con una lista de todos los privilegios disponibles.
- Marca las siguientes casillas (son las que necesita PrestaShop):
- SELECT
- INSERT
- UPDATE
- DELETE
- CREATE
- DROP
- ALTER
- INDEX
- REFERENCES
- También puedes marcar "ALL PRIVILEGES" si lo prefieres, pero no es recomendable para entornos de producción, ya que le das permisos innecesarios (como
CREATE TEMPORARY TABLESoLOCK TABLES, que aunque no son peligrosos, es mejor ser específico). - Haz clic en "Aceptar".
[INFO] Si en el futuro necesitas actualizar PrestaShop a una versión mayor, es posible que necesites privilegios adicionales como
CREATE TEMPORARY TABLESoLOCK TABLES. Si te da error durante la actualización, vuelve a este paso y añádelos.
Paso 5: Verificar la conexión a la base de datos
Antes de instalar PrestaShop, es buena idea comprobar que el usuario y la base de datos funcionan correctamente.
Opción 1: Usar phpMyAdmin (incluido en Plesk)
- En Plesk, ve a "Bases de datos".
- Haz clic en el nombre de tu base de datos.
- Busca el botón "phpMyAdmin" o "Administrar". Se abrirá una nueva pestaña.
- En la pantalla de inicio de sesión de phpMyAdmin, introduce:
- Servidor: Normalmente
localhost(no lo cambies). - Usuario: El nombre de usuario que creaste (ej.
usuario_prestashop). - Contraseña: La que pusiste.
- Servidor: Normalmente
- Haz clic en "Continuar".
- Si ves el panel de phpMyAdmin con tu base de datos vacía, ¡todo está correcto!
Opción 2: Probar desde un script simple (opcional)
Si tienes acceso a un editor de archivos en tu hosting, puedes crear un archivo test_db.php con este contenido:
<?php
$servername = "localhost";
$username = "usuario_prestashop";
$password = "tu_contraseña";
$dbname = "tienda_prestashop";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Conexión fallida: " . $conn->connect_error);
}
echo "Conexión exitosa a la base de datos MySQL";
$conn->close();
?>
Súbelo a tu servidor y accede a él desde el navegador. Si ves el mensaje de éxito, todo funciona.
[WARNING] Borra este archivo después de la prueba, ya que contiene tu contraseña en texto plano.
Paso 6: Instalar PrestaShop usando los datos creados
Cuando estés listo para instalar PrestaShop, en el paso de configuración de la base de datos, introduce los siguientes datos:
- Dirección del servidor de base de datos:
localhost(o la dirección que te proporcione Plesk). - Nombre de la base de datos: El nombre que creaste (ej.
tienda_prestashop). - Usuario de la base de datos: El usuario que creaste (ej.
usuario_prestashop). - Contraseña: La contraseña que elegiste.
- Prefijo de tablas: Puedes dejarlo como
ps_o cambiarlo por seguridad.
PrestaShop se encargará del resto.
Preguntas frecuentes (FAQ)
¿Puedo usar el mismo usuario para varias bases de datos?
Sí, pero no es recomendable. Cada base de datos debería tener su propio usuario para mayor seguridad. Si usas el mismo, un fallo en una tienda podría comprometer la otra.
¿Qué hago si olvido la contraseña del usuario?
En Plesk, puedes cambiar la contraseña desde la sección "Usuarios" de la base de datos. Busca el usuario, haz clic en "Editar" y establece una nueva contraseña.
¿Necesito privilegios de administrador (GRANT, CREATE USER)?
No, PrestaShop no necesita permisos para crear otros usuarios ni para gestionar privilegios. De hecho, es más seguro no dárselos.
¿Puedo usar el usuario root de MySQL?
Técnicamente sí, pero es una pésima práctica de seguridad. Si lo haces, cualquier vulnerabilidad en PrestaShop podría exponer toda tu base de datos. Siempre crea un usuario específico.
¿Qué pasa si mi hosting usa Syspanel (antes HestiaCP) en lugar de Plesk?
Si usas Syspanel (puerto 2106), el proceso es similar, pero la interfaz es diferente. En Syspanel, busca la sección "Bases de datos" y luego "Agregar base de datos". Allí podrás crear tanto la base como el usuario en un solo paso, y luego asignar los privilegios desde el panel de edición. Los conceptos son los mismos.
¿Debo usar SSL para la conexión a la base de datos?
No es obligatorio para una instalación local, pero si tu hosting lo permite, puedes configurar una conexión SSL para mayor seguridad. PrestaShop no lo exige por defecto.
Resumen final
Crear un usuario y asignarle los privilegios correctos en MySQL a través de Plesk para tu tienda PrestaShop es un proceso sencillo que te tomará menos de 5 minutos. Los pasos clave son:
- Crear la base de datos.
- Crear el usuario con contraseña segura.
- Asignar privilegios específicos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, REFERENCES).
- Verificar la conexión con phpMyAdmin.
- Usar esos datos durante la instalación de PrestaShop.
Siguiendo esta guía, tu tienda tendrá una base de datos segura y optimizada desde el primer día. Si tienes alguna duda, revisa la sección de preguntas frecuentes o consulta la documentación oficial de Plesk y PrestaShop.
¡Buena suerte con tu tienda online!
