Cómo crear un usuario y asignar privilegios en MySQL (cPanel y Plesk)
Introducción: ¿Por qué necesitas crear un usuario MySQL?
Cuando tienes una web dinámica (como WordPress, Joomla o una tienda online), detrás de las cámaras hay una base de datos que guarda todo tu contenido: artículos, productos, clientes, contraseñas cifradas, etc.
Para que tu aplicación web pueda leer y escribir en esa base de datos, necesita un usuario MySQL con sus respectivos privilegios MySQL. No es recomendable usar el usuario root (el administrador general del servidor) porque es un riesgo de seguridad enorme. Si alguien consigue esa contraseña, tendría acceso a todas las bases de datos del servidor.
Por eso, en este artículo te voy a enseñar, paso a paso y sin tecnicismos, cómo crear un usuario MySQL, cómo asignar permisos MySQL y cómo hacerlo tanto en cPanel como en Plesk, los dos paneles de control más usados en el hosting.
Al final, tendrás una guía visual y sencilla que podrás aplicar en tu propio hosting, incluso si nunca has tocado una base de datos en tu vida.
¿Qué es un usuario MySQL y qué son los privilegios?
Antes de lanzarnos a los botones, vamos a entender el concepto. Imagina que tu base de datos es un edificio con varias oficinas (tablas).
- El usuario MySQL es la persona que tiene una llave para entrar al edificio.
- Los privilegios MySQL son las puertas que puede abrir y qué puede hacer dentro: solo mirar (SELECT), escribir notas (INSERT), modificar documentos (UPDATE) o incluso tirar paredes (DROP).
Si le das todos los permisos a una aplicación que solo necesita leer datos, estás dando una llave maestra a alguien que solo necesitaba una llave de oficina. Por eso, lo ideal es asignar solo los privilegios necesarios.
Los privilegios más comunes son:
- SELECT: leer datos.
- INSERT: añadir nuevos datos.
- UPDATE: modificar datos existentes.
- DELETE: eliminar datos.
- ALL PRIVILEGES: todos los permisos (se usa para aplicaciones como WordPress que necesitan control total sobre su base de datos).
Crear usuario MySQL en cPanel (paso a paso)
cPanel es el panel de control más popular en el hosting compartido. Su interfaz es clara y los pasos son muy intuitivos.
### Paso 1: Accede a la sección de Bases de Datos MySQL
- Entra en tu cPanel con tu usuario y contraseña (normalmente es
tudominio.com/cpanel). - Busca la sección Bases de Datos.
- Haz clic en Bases de Datos MySQL.
### Paso 2: Crear el usuario MySQL
- Dentro de la página de bases de datos, baja hasta la sección Usuarios MySQL.
- Verás un formulario con dos campos: Usuario y Contraseña.
- Escribe un nombre de usuario (por ejemplo,
miusuario_web). Ten en cuenta que cPanel suele añadir un prefijo con tu cuenta de hosting (ej:tuweb_miusuario). - Genera una contraseña segura. Puedes usar el botón Generador que aparece al lado. Te recomiendo que uses uno de al menos 16 caracteres con mayúsculas, números y símbolos.
- Haz clic en Crear usuario.
### Paso 3: Asignar el usuario a una base de datos
Este es el paso clave para asignar permisos MySQL. El usuario recién creado no tiene acceso a ninguna base de datos todavía.
- Baja a la sección Añadir usuario a la base de datos.
- En el menú desplegable de Usuario, selecciona el que acabas de crear.
- En el menú desplegable de Base de datos, selecciona la base de datos a la que quieres que tenga acceso.
- Haz clic en Añadir.
### Paso 4: Configurar los privilegios MySQL
Al hacer clic en Añadir, se abrirá una nueva página con todas las casillas de privilegios.
- Si tu aplicación necesita control total (como WordPress), marca la casilla TODOS LOS PRIVILEGIOS.
- Si quieres ser más estricto, marca solo las que necesites (SELECT, INSERT, UPDATE, DELETE).
[INFO] Para la mayoría de las aplicaciones web modernas, la opción más segura y funcional es marcar TODOS LOS PRIVILEGIOS sobre una única base de datos. Así la app funciona sin errores raros y no tiene acceso al resto de bases de datos del servidor.
Finalmente, haz clic en Realizar cambios y ¡listo! Ya tienes tu usuario MySQL cPanel funcionando.
Crear usuario MySQL en Plesk (paso a paso)
Plesk es otro panel de control muy usado en servidores VPS y dedicados, especialmente en entornos Windows o Linux con una interfaz más moderna. El proceso es un poco diferente, pero igual de sencillo.
### Paso 1: Accede a la gestión de bases de datos
- Entra en tu Plesk con tu usuario administrador.
- En el menú lateral izquierdo, busca la sección Sitios web y dominios.
- Haz clic sobre el dominio donde quieres trabajar.
- Busca el icono de Bases de datos o Bases de datos MySQL.
### Paso 2: Crear un nuevo usuario MySQL
- Dentro de la sección de bases de datos, verás un botón que dice Agregar base de datos o Agregar usuario. Para este tutorial, vamos a crear primero el usuario.
- Haz clic en Agregar usuario (o en algunos paneles, se llama Usuarios de bases de datos).
- Se abrirá un formulario con los campos:
- Nombre de usuario: elige uno descriptivo (ej:
usuario_blog). - Contraseña: introduce una segura y confírmala.
- Nombre de usuario: elige uno descriptivo (ej:
- Haz clic en Aceptar.
### Paso 3: Asignar el usuario a una base de datos y darle permisos
En Plesk, la asignación de permisos se hace de una forma más visual.
- Ve a la pestaña de Bases de datos.
- Selecciona la base de datos a la que quieres dar acceso.
- Busca la pestaña Usuarios o Permisos dentro de la configuración de esa base de datos.
- Ahí verás una lista de los usuarios del servidor. Marca la casilla del usuario que acabas de crear.
- A continuación, se desplegarán las opciones de permisos: Lectura, Escritura, Modificación y Borrado.
- Si quieres que tenga control total, marca todas las casillas.
- Si solo necesita leer, marca solo Lectura.
[TIP] En Plesk, si tu aplicación es WordPress o similar, te recomiendo marcar las cuatro casillas (Lectura, Escritura, Modificación y Borrado). Así evitarás errores de permisos al instalar plugins o temas.
Comparativa rápida: cPanel vs Plesk
Para que te quede clarísimo, aquí tienes un resumen rápido:
| Acción | cPanel | Plesk |
|---|---|---|
| Crear usuario | Sección Bases de Datos MySQL → Usuarios MySQL | Sección Bases de datos → Agregar usuario |
| Asignar a BD | Sección Añadir usuario a la base de datos | Dentro de la BD → pestaña Usuarios |
| Dar permisos | Casillas de verificación al añadir usuario a BD | Casillas de verificación en la pestaña Usuarios |
| Dificultad | Muy fácil | Muy fácil |
Ambos paneles cumplen perfectamente la función. La elección dependerá de tu proveedor de hosting.
Errores comunes al crear usuarios MySQL (y cómo evitarlos)
Aunque el proceso es sencillo, hay tres errores típicos que te pueden volver loco:
### Error 1: "Access denied for user"
Este error aparece cuando la aplicación no puede conectarse a la base de datos.
- Causa: El usuario no tiene permisos, o la contraseña es incorrecta.
- Solución: Revisa que el nombre de usuario esté completo (en cPanel suele llevar el prefijo de tu cuenta) y que la contraseña sea exacta. También verifica que el usuario esté asociado a la base de datos correcta.
### Error 2: El usuario no aparece al intentar asignarlo
- Causa: No se ha creado correctamente o se ha creado en otro servidor.
- Solución: Vuelve a crear el usuario y asegúrate de que en el desplegable de "Añadir usuario a la base de datos" aparece.
### Error 3: Confundir el host de la base de datos
Algunas aplicaciones te piden el host de la base de datos. No es lo mismo localhost que mysql.tudominio.com.
[WARNING] Si tu aplicación está en el mismo servidor que tu base de datos, usa
localhost. Si usas un host externo, copia exactamente el que te indica tu panel de control (suele aparecer en la misma página de la base de datos).
Preguntas frecuentes (FAQ)
¿Puedo usar un solo usuario MySQL para varias bases de datos?
Sí, puedes. Solo tienes que repetir el proceso de "Añadir usuario a la base de datos" en cPanel o marcar el usuario en varias bases de datos en Plesk. Pero por seguridad, es mejor que cada aplicación tenga su propio usuario.
¿Qué significa "ALL PRIVILEGES" y es seguro?
Significa que el usuario tiene todos los permisos posibles sobre esa base de datos: leer, escribir, modificar, eliminar e incluso crear tablas nuevas. Es seguro siempre que el usuario solo tenga acceso a una base de datos concreta, no a todo el servidor.
¿Puedo cambiar los privilegios de un usuario después de crearlo?
Por supuesto. En cPanel, entra en Bases de datos MySQL, localiza la sección Añadir usuario a la base de datos y haz clic en el icono de Permisos junto a la combinación usuario/base de datos. En Plesk, entra en la base de datos y modifica las casillas de usuario.
¿Qué hago si olvido la contraseña del usuario MySQL?
No puedes recuperarla, pero sí puedes cambiarla. En cPanel, ve a Usuarios MySQL y haz clic en Cambiar contraseña. En Plesk, edita el usuario y pon una nueva. Luego actualiza la configuración de tu aplicación con la nueva contraseña.
¿Y si mi hosting usa Syspanel en lugar de cPanel o Plesk?
Si tu proveedor usa Syspanel (el antiguo HestiaCP), el proceso es bastante similar. Accede a través del puerto 2106 (ej: https://tudominio.com:2106). Dentro, busca la sección Bases de datos, crea el usuario y asígnale los permisos de forma muy parecida a Plesk.
Conclusión y buenas prácticas
Crear un usuario MySQL y asignar permisos MySQL es una tarea fundamental para mantener tu web segura y funcionando. Ya sea en cPanel o Plesk, el proceso es rápido y no requiere conocimientos avanzados.
Recuerda estas reglas de oro:
- Nunca uses el usuario root para tus aplicaciones web.
- Crea un usuario distinto por cada base de datos.
- Asigna solo los privilegios necesarios (aunque para aplicaciones como WordPress, "todos" sobre una BD concreta es aceptable).
- Guarda tus contraseñas en un gestor de contraseñas para no perderlas.
Con esta guía, ya puedes ir a tu panel de control y crear tu usuario sin miedo. Si algo falla, repasa los pasos y consulta la FAQ. ¡Verás que es más fácil de lo que parece!
[TIP] Después de crear el usuario y los privilegios, prueba a conectarte desde tu aplicación. Si el error persiste, borra el usuario, vuelve a crearlo y verifica que la contraseña no tenga caracteres extraños que puedan confundirse (como la letra O y el número 0).
