Cómo crear un usuario MySQL y asignar privilegios en Plesk
¿Qué es un usuario MySQL y por qué necesitas uno en Plesk?
Cuando creas una base de datos en Plesk, el sistema te asigna un usuario principal con todos los permisos. Sin embargo, es una práctica muy recomendada (y casi obligatoria en entornos profesionales) crear usuarios adicionales con privilegios limitados. Cada usuario de MySQL tiene su propio nombre de usuario y contraseña, y puedes otorgarle permisos específicos como solo lectura, solo escritura o acceso total a una base de datos concreta.
¿Por qué es esto útil? Imagina que tienes una tienda online y necesitas que un desarrollador externo acceda a los datos, pero no quieres que pueda borrar tablas. O quizás tienes una aplicación que solo necesita leer información y no modificarla. Crear un usuario con permisos limitados reduce el riesgo de errores humanos y mejora la seguridad general de tu hosting.
En este tutorial, te explicaré paso a paso cómo crear un usuario MySQL y asignar privilegios en Plesk, desde el panel de control, sin necesidad de tocar líneas de comandos. Al final, también resolveremos dudas frecuentes sobre permisos y gestión de bases de datos.
Antes de empezar: requisitos previos
Para seguir esta guía, necesitas:
- Acceso al panel de control de Plesk (normalmente en
https://tudominio.com:8443o la URL que te haya proporcionado tu proveedor). - Tener creada al menos una base de datos MySQL en tu suscripción.
- Ser el administrador del dominio o tener permisos de gestión de bases de datos.
[INFO] Si aún no tienes una base de datos creada, primero deberás crear una desde Bases de Datos > Agregar base de datos. El proceso es muy intuitivo: solo necesitas un nombre y elegir el tipo de base de datos (MySQL, MariaDB, etc.).
Paso 1: Acceder a la sección de Bases de Datos en Plesk
Una vez que hayas iniciado sesión en Plesk, sigue esta ruta:
- En el menú lateral izquierdo, haz clic en Bases de Datos.
- Verás un listado con todas las bases de datos existentes en tu suscripción.
- Identifica la base de datos a la que quieres añadir un nuevo usuario y haz clic en su nombre (o en el icono de lápiz para editarla).
En la página de detalles de la base de datos, verás varias pestañas: Usuarios, Tablas, Consultas, etc. La que nos interesa es la pestaña Usuarios.
[TIP] Si tienes muchas bases de datos, puedes usar el buscador de la parte superior para encontrarla más rápido.
Paso 2: Crear un nuevo usuario MySQL desde Plesk
Dentro de la pestaña Usuarios, verás una tabla con los usuarios existentes y sus privilegios. Para crear uno nuevo:
- Haz clic en el botón Agregar usuario (o Crear nuevo usuario).
- Se abrirá un formulario con los siguientes campos:
- Nombre de usuario: Elige un nombre descriptivo, por ejemplo
app_lecturaousuario_blog. Evita caracteres especiales y espacios. - Contraseña: Plesk te ofrece un generador seguro. Puedes usarlo o escribir tu propia contraseña. Recuerda que debe ser robusta (mínimo 8 caracteres, mezcla de mayúsculas, minúsculas y números).
- Confirmar contraseña: Repite la contraseña para evitar errores.
- Nombre de usuario: Elige un nombre descriptivo, por ejemplo
- Haz clic en OK para crear el usuario.
Plesk creará el usuario en el servidor MySQL y lo asociará automáticamente a la base de datos seleccionada, aunque aún no tendrá permisos específicos.
[WARNING] Anota el nombre de usuario y la contraseña en un lugar seguro. No podrás volver a ver la contraseña después de crearla, solo podrás cambiarla.
Paso 3: Asignar privilegios al usuario MySQL en Plesk
Una vez creado el usuario, aparece en la lista con una serie de casillas de verificación que representan los privilegios. Plesk simplifica la gestión de permisos con opciones predefinidas, pero también permite un control granular.
Privilegios básicos que puedes asignar:
- SELECT: Permite leer datos de las tablas. Es el permiso más básico y seguro.
- INSERT: Permite añadir nuevas filas.
- UPDATE: Permite modificar filas existentes.
- DELETE: Permite eliminar filas.
- CREATE: Permite crear nuevas tablas o bases de datos.
- ALTER: Permite modificar la estructura de las tablas.
- DROP: Permite eliminar tablas o bases de datos completas. ¡Cuidado con este!
- INDEX: Permite crear y eliminar índices.
- REFERENCES: Permite crear claves foráneas.
- ALL PRIVILEGES: Concede todos los permisos disponibles.
Cómo asignarlos en Plesk:
- En la lista de usuarios, localiza el usuario que acabas de crear.
- Marca las casillas correspondientes a los privilegios que deseas otorgar.
- Si no sabes cuáles elegir, usa la opción Todos para conceder todos los permisos (equivale a ALL PRIVILEGES).
- Haz clic en Aplicar o Guardar para confirmar los cambios.
[TIP] Para una aplicación web típica (WordPress, Joomla, etc.), se recomienda conceder todos los privilegios excepto
GRANT(que permite delegar permisos a otros usuarios). Esto garantiza el correcto funcionamiento de la aplicación sin comprometer la seguridad.
Paso 4: Probar la conexión con el nuevo usuario
Una vez creado el usuario y asignados los privilegios, es buena idea probar que todo funciona correctamente. Puedes hacerlo desde la pestaña Consultas de la base de datos en Plesk, o desde tu aplicación web.
Para probar desde Plesk:
- Ve a la pestaña Consultas de la base de datos.
- Ejecuta una consulta simple como
SELECT 1;oSHOW TABLES;. - Si la consulta se ejecuta sin errores, la conexión es correcta.
También puedes usar herramientas externas como phpMyAdmin (si está disponible en tu Plesk) o un cliente MySQL como MySQL Workbench. Solo necesitas:
- Host:
localhosto la dirección del servidor de bases de datos (normalmentelocalhosten Plesk). - Puerto:
3306(por defecto). - Usuario: el nombre que creaste.
- Contraseña: la que asignaste.
[INFO] Si tu aplicación web está en el mismo servidor, lo más común es usar
localhostcomo host. Si la aplicación está en otro servidor, deberás usar la IP pública del servidor de bases de datos y asegurarte de que el firewall permita conexiones externas.
Cómo modificar o eliminar usuarios MySQL en Plesk
Modificar privilegios existentes
Si necesitas cambiar los permisos de un usuario (por ejemplo, otorgarle acceso de escritura a una aplicación que antes solo leía), simplemente:
- Ve a Bases de Datos > [nombre de la BD] > Usuarios.
- Marca o desmarca las casillas de privilegios según necesites.
- Haz clic en Aplicar.
Cambiar la contraseña de un usuario
- En la lista de usuarios, haz clic en el icono de lápiz (editar) junto al usuario.
- Introduce la nueva contraseña y confírmala.
- Guarda los cambios.
Eliminar un usuario
- En la lista de usuarios, marca la casilla del usuario que quieres eliminar.
- Haz clic en Eliminar (o el icono de papelera).
- Confirma la acción.
[WARNING] Eliminar un usuario es irreversible. Si la aplicación usa ese usuario, dejará de funcionar hasta que crees uno nuevo o vuelvas a asignar los permisos a otro usuario.
Preguntas frecuentes sobre usuarios y privilegios MySQL en Plesk
¿Qué diferencia hay entre crear un usuario desde Plesk y hacerlo desde phpMyAdmin?
Ambos métodos crean usuarios en el servidor MySQL, pero Plesk integra la gestión con su panel y mantiene un control más claro sobre qué base de datos usa cada usuario. Además, Plesk sincroniza los permisos a nivel de panel, lo que facilita la gestión si tienes muchas bases de datos.
¿Puedo usar el mismo usuario para varias bases de datos?
Sí, pero tendrás que asignar los privilegios por cada base de datos. En Plesk, ve a cada base de datos y añade el usuario existente (en lugar de crear uno nuevo). Plesk te permitirá seleccionar un usuario ya existente en el servidor.
¿Qué significa el privilegio GRANT y por qué no debería otorgarlo?
El privilegio GRANT permite que un usuario pueda otorgar permisos a otros usuarios. Si lo concedes a un usuario comprometido, un atacante podría crear nuevos usuarios con privilegios elevados. Es mejor mantenerlo solo para el administrador principal.
¿Cómo afecta el usuario MySQL al rendimiento de mi sitio web?
El usuario en sí no afecta al rendimiento, pero los privilegios mal asignados pueden causar errores en la aplicación. Por ejemplo, si una aplicación necesita escribir en la base de datos y el usuario solo tiene permiso SELECT, la aplicación fallará. Asegúrate de que los permisos coincidan con las necesidades de la aplicación.
¿Puedo crear un usuario MySQL desde SSH o línea de comandos?
Sí, puedes usar comandos SQL como CREATE USER y GRANT, pero Plesk simplifica mucho el proceso y evita errores. Además, Plesk mantiene un registro de los usuarios y sus permisos en su interfaz, lo que facilita la auditoría.
¿Qué puerto usa MySQL en Plesk?
El puerto por defecto es el 3306. Si tu servidor usa otro puerto, lo verás en la configuración de la base de datos en Plesk. Algunos proveedores usan puertos alternativos por seguridad.
Buenas prácticas de seguridad para usuarios MySQL
- Usa contraseñas fuertes: Combina letras mayúsculas, minúsculas, números y símbolos. Evita fechas de nacimiento o palabras comunes.
- Principio de mínimo privilegio: Otorga solo los permisos necesarios. Si una aplicación solo lee datos, no le des permisos de escritura.
- Cambia las contraseñas periódicamente: Especialmente si has compartido el acceso con terceros.
- No uses el usuario root para aplicaciones: El usuario root tiene acceso total al servidor MySQL. Crea usuarios específicos para cada aplicación.
- Revisa regularmente los usuarios existentes: Elimina aquellos que ya no se usan o que pertenecen a empleados que ya no trabajan en el proyecto.
[INFO] Si también gestionas otros paneles de control como Syspanel (que es una alternativa a HestiaCP y se accede a través del puerto 2106), el proceso de creación de usuarios MySQL es similar pero la ubicación de las opciones puede variar. En Syspanel, busca la sección de bases de datos en el menú principal y sigue las mismas pautas de seguridad.
Resumen del proceso
Crear un usuario MySQL y asignar privilegios en Plesk es un proceso sencillo que se resume en estos pasos:
- Accede a Bases de Datos desde el panel de Plesk.
- Selecciona la base de datos objetivo.
- Ve a la pestaña Usuarios y haz clic en Agregar usuario.
- Introduce el nombre de usuario y una contraseña segura.
- Asigna los privilegios necesarios marcando las casillas correspondientes.
- Guarda los cambios y prueba la conexión.
Con este método, podrás dar acceso a tu base de datos de forma segura y controlada, ya sea para un desarrollador, una aplicación externa o un servicio de terceros.
Conclusión
La gestión de usuarios y privilegios en MySQL es una de las tareas más importantes para mantener la seguridad y el buen funcionamiento de tus aplicaciones web. Plesk facilita enormemente este trabajo gracias a su interfaz gráfica, que te permite crear usuarios, asignar permisos y modificarlos en cualquier momento sin necesidad de conocimientos avanzados de SQL.
Recuerda siempre aplicar el principio de mínimo privilegio y mantener un control estricto sobre quién tiene acceso a tus bases de datos. Si tienes dudas sobre algún permiso concreto, consulta la documentación oficial de MySQL o pregunta a tu proveedor de hosting.
Ahora ya sabes cómo crear un usuario MySQL y asignar privilegios en Plesk. Si te surge cualquier problema durante el proceso, no dudes en contactar con el soporte técnico de tu hosting. ¡Buena suerte con tus proyectos!
