Cómo crear un usuario y asignar privilegios en base de datos MariaDB en Plesk
Introducción: ¿Por qué es importante gestionar usuarios y privilegios en MariaDB?
Si tienes un sitio web alojado en un servidor con Plesk, es muy probable que en algún momento necesites trabajar con bases de datos MariaDB. MariaDB es un sistema de gestión de bases de datos muy popular, derivado de MySQL, y es el motor predeterminado en muchas instalaciones de Plesk. Una de las tareas fundamentales para mantener la seguridad y el orden en tu servidor es saber cómo crear un usuario de base de datos y asignarle los privilegios adecuados.
¿Por qué es tan importante? Imagina que tienes varias aplicaciones (WordPress, PrestaShop, un foro) en el mismo servidor. Si todas usan el mismo usuario de base de datos con permisos totales, un fallo de seguridad en una aplicación podría comprometer todas las demás. Crear usuarios específicos y asignarles solo los permisos necesarios (principio de mínimo privilegio) es una de las mejores prácticas de seguridad en hosting.
En este artículo, te guiaré paso a paso para que puedas gestionar usuarios y privilegios en MariaDB desde Plesk. No necesitas ser un experto; solo seguir las instrucciones. Además, al final encontrarás una sección de preguntas frecuentes (FAQ) que resolverá las dudas más comunes.
¿Qué necesitas antes de empezar?
Antes de lanzarte a crear usuarios, asegúrate de tener lo siguiente:
- Acceso a Plesk: Debes poder iniciar sesión como administrador o como cliente con permisos para gestionar bases de datos.
- Una base de datos existente: Necesitas tener al menos una base de datos MariaDB creada en Plesk. Si no la tienes, puedes crearla desde el panel (basta con ir a "Bases de datos" y hacer clic en "Añadir base de datos").
- Conocimientos básicos de privilegios: Aunque te explicaré los más comunes, es bueno que sepas que los privilegios determinan qué puede hacer un usuario (leer, escribir, modificar estructuras, etc.).
[INFO] Si tu servidor utiliza Syspanel (anteriormente conocido como HestiaCP), el proceso es diferente. En ese caso, accedes por el puerto 2106 y la gestión de usuarios se hace desde la sección de bases de datos. Pero este artículo se centra en Plesk.
Paso 1: Acceder a la sección de bases de datos en Plesk
El primer paso es, obviamente, entrar a Plesk. Una vez dentro:
- En el menú lateral izquierdo, busca la sección "Bases de datos". Puede estar directamente visible o dentro de un grupo llamado "Sitios web y dominios" o similar, dependiendo de la versión de Plesk.
- Haz clic en el nombre de la base de datos a la que quieres añadir el usuario. Se abrirá una página con los detalles de esa base de datos.
- Verás varias pestañas: "Resumen", "Usuarios", "Importar/Exportar", etc. Haz clic en "Usuarios".
Aquí es donde ocurre la magia. Verás una lista de los usuarios que ya tienen acceso a esa base de datos (si es nueva, probablemente esté vacía).
Paso 2: Crear un nuevo usuario de base de datos
Ahora vamos a crear el usuario. Sigue estos pasos:
- En la pestaña "Usuarios", haz clic en el botón "Añadir usuario de base de datos" (o un botón similar, a veces dice "Crear nuevo usuario").
- Se abrirá un formulario. Rellena los campos:
- Nombre de usuario: Elige un nombre descriptivo, por ejemplo
wp_usuario_blogotienda_admin. Evita nombres genéricos comoadminoroot. - Contraseña: Plesk te permite generar una contraseña segura automáticamente (recomendado) o escribir una manual. Si la generas, guárdala en un gestor de contraseñas. Nunca uses contraseñas débiles.
- Confirmar contraseña: Repite la contraseña si la escribiste manualmente.
- Nombre de usuario: Elige un nombre descriptivo, por ejemplo
- Haz clic en "Aceptar" o "Crear".
[TIP] Si tu base de datos es para una aplicación como WordPress, es buena práctica que el nombre del usuario refleje su propósito. Así, si tienes varios sitios, sabrás rápidamente a qué pertenece cada usuario.
¡Listo! Ya has creado un usuario. Pero todavía no tiene permisos para hacer nada. Pasemos a la parte crucial: asignar privilegios.
Paso 3: Asignar privilegios al usuario
Una vez creado el usuario, volverás a la lista de usuarios de la base de datos. Verás que el nuevo usuario aparece, pero con un estado como "Sin privilegios" o con un candado. Para asignarle permisos:
-
Haz clic en el nombre del usuario o en el icono de edición (normalmente un lápiz o un engranaje) que aparece junto a él.
-
Se abrirá una ventana o pantalla de "Editar usuario de base de datos". Aquí es donde definirás los privilegios.
-
Verás una lista de casillas de verificación agrupadas por categorías. Las más comunes son:
- SELECT: Permite leer datos (consultas).
- INSERT: Permite añadir nuevas filas.
- UPDATE: Permite modificar datos existentes.
- DELETE: Permite eliminar filas.
- CREATE: Permite crear nuevas tablas.
- DROP: Permite eliminar tablas completas (¡cuidado!).
- ALTER: Permite modificar la estructura de tablas (añadir columnas, etc.).
- INDEX: Permite crear índices para mejorar el rendimiento.
- REFERENCES: Permite crear claves foráneas (relaciones entre tablas).
- CREATE TEMPORARY TABLES: Para tablas temporales.
- LOCK TABLES: Para bloquear tablas durante operaciones.
- EXECUTE: Para ejecutar procedimientos almacenados.
- ALL PRIVILEGES: Otorga todos los permisos (no recomendado para usuarios cotidianos).
-
¿Qué privilegios elegir? Depende del uso del usuario:
- Para una aplicación web típica (WordPress, Joomla, etc.): Marca SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, CREATE TEMPORARY TABLES, LOCK TABLES. Esto permite a la aplicación gestionar su contenido y actualizar la estructura (por ejemplo, al instalar plugins).
- Para un usuario de solo lectura (por ejemplo, para hacer copias de seguridad o consultas de informes): Marca solo SELECT.
- Para un administrador de base de datos: Puedes marcar ALL PRIVILEGES, pero solo si es estrictamente necesario.
-
Una vez seleccionados, haz clic en "Aceptar" o "Guardar".
[WARNING] Nunca otorgues el privilegio
ALL PRIVILEGESa un usuario que utilizará una aplicación pública como WordPress. Si la aplicación es vulnerable, un atacante podría borrar toda tu base de datos. Aplica el principio de mínimo privilegio.
Paso 4: Verificar los privilegios asignados
Después de guardar, es buena práctica verificar que los privilegios se han aplicado correctamente. Para ello:
- Vuelve a la lista de usuarios de la base de datos.
- Junto al nombre del usuario, deberías ver un resumen de los privilegios (por ejemplo, "SELECT, INSERT, UPDATE...").
- Si quieres una comprobación más técnica, puedes usar una herramienta como phpMyAdmin (integrado en Plesk) para conectarte con ese usuario y ejecutar un comando como
SHOW GRANTS;para ver los permisos exactos.
Si todo está bien, ¡enhorabuena! Ya tienes un usuario funcional y seguro.
Gestión avanzada: Editar, copiar o eliminar usuarios
Con el tiempo, puede que necesites modificar los permisos de un usuario, crear uno similar o eliminar uno que ya no uses. En Plesk es muy sencillo:
- Editar privilegios: Desde la lista de usuarios, haz clic en el nombre del usuario y repite el paso 3.
- Copiar un usuario: Si necesitas un usuario con los mismos privilegios para otra base de datos, no es posible copiarlo directamente desde la interfaz de Plesk. Tendrías que crear un nuevo usuario y asignarle manualmente los mismos permisos.
- Eliminar un usuario: En la lista de usuarios, busca el icono de papelera o la opción "Eliminar". Ten cuidado: si eliminas un usuario que está siendo utilizado por una aplicación, esta dejará de funcionar hasta que actualices la configuración de conexión.
[TIP] Antes de eliminar un usuario, asegúrate de que no haya aplicaciones activas que lo estén usando. Puedes revisar los archivos de configuración de tus sitios (por ejemplo,
wp-config.phpen WordPress) para identificar qué usuario utilizan.
Preguntas frecuentes (FAQ)
Aquí respondo a las dudas más habituales que suelen tener los usuarios al gestionar bases de datos en Plesk con MariaDB.
1. ¿Puedo usar el mismo usuario para varias bases de datos?
Sí, puedes. Al crear o editar un usuario, Plesk te permite seleccionar a qué bases de datos tendrá acceso. Sin embargo, no es recomendable por seguridad: si una aplicación es comprometida, todas las bases de datos a las que tenga acceso el usuario podrían verse afectadas.
2. ¿Qué hago si olvido la contraseña de un usuario?
En Plesk, ve a la lista de usuarios de la base de datos, haz clic en el usuario y verás la opción "Cambiar contraseña". Puedes generar una nueva o escribir una manualmente. Recuerda actualizar la contraseña en tu aplicación.
3. ¿Es seguro otorgar el privilegio DROP a un usuario de WordPress?
No, a menos que estés seguro de que nunca necesitarás eliminar tablas desde la aplicación. WordPress rara vez necesita DROP. Lo mejor es no marcarlo y, si algún plugin lo requiere, puedes añadirlo temporalmente.
4. ¿Puedo crear un usuario directamente desde phpMyAdmin?
Sí, pero no es recomendable. Si creas un usuario desde phpMyAdmin, Plesk no lo reconocerá como parte de su sistema y podrías tener problemas de sincronización. Siempre es mejor usar la interfaz de Plesk para mantener todo ordenado.
5. ¿Qué diferencia hay entre un usuario de base de datos y un usuario de Plesk?
El usuario de Plesk es la cuenta con la que accedes al panel de control (para gestionar sitios, dominios, etc.). El usuario de base de datos es específico para conectarse a MariaDB y solo tiene permisos sobre las bases de datos que le asignes. Son conceptos distintos.
6. ¿Cómo sé qué privilegios necesita mi aplicación?
Lo mejor es consultar la documentación oficial de la aplicación. Por ejemplo, WordPress oficialmente recomienda: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, CREATE TEMPORARY TABLES, LOCK TABLES. Para otras aplicaciones, busca en Google "[nombre de la app] MySQL privileges".
7. ¿Puedo conectar mi aplicación a MariaDB desde fuera del servidor?
Sí, pero necesitarás habilitar el acceso remoto en la configuración de MariaDB y abrir el puerto 3306 en el firewall. Esto implica un riesgo de seguridad, así que solo hazlo si es absolutamente necesario y usa una VPN o IP de confianza.
Conclusión
Gestionar usuarios y privilegios en MariaDB desde Plesk es un proceso sencillo, pero crucial para la seguridad de tus aplicaciones. Recuerda siempre aplicar el principio de mínimo privilegio: asigna solo los permisos necesarios para que cada usuario realice su función. Con los pasos que te he dado, podrás crear usuarios personalizados, asignarles los privilegios adecuados y mantener tu servidor ordenado y protegido.
Si tienes más dudas, no dudes en consultar la documentación oficial de Plesk o contactar con tu proveedor de hosting. Y recuerda, si tu servidor usa Syspanel (HestiaCP), el puerto de acceso es el 2106 y la gestión es diferente, pero los conceptos de privilegios son los mismos.
¡Espero que este artículo te haya sido de gran ayuda! Ahora ya puedes gestionar tus bases de datos como un profesional.
