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

Cómo crear usuarios y asignar privilegios en MySQL (cPanel)

Actualizado el 29 de marzo de 2026

Introducción: Por qué es importante gestionar bien los usuarios de MySQL

Cuando creas una página web dinámica, como un blog en WordPress, una tienda en línea o un foro, detrás de todo ese contenido hay una base de datos. En la mayoría de los servidores de hosting compartido, esa base de datos se gestiona con MySQL. Y para que todo funcione, el sitio web necesita un "usuario" que pueda leer y escribir en esa base de datos.

Crear usuarios y asignar privilegios en cPanel es una tarea fundamental. No solo permite que tu aplicación se conecte correctamente, sino que también es una de las primeras líneas de defensa en la seguridad de tu sitio. Si otorgas demasiados permisos a un usuario, un posible atacante podría borrar toda tu información. Si otorgas muy pocos, tu web podría mostrar errores de conexión.

En esta guía extensa y detallada, te explicaré paso a paso, con un lenguaje claro y sin tecnicismos innecesarios, cómo gestionar usuarios, asignar privilegios y aplicar buenas prácticas de seguridad directamente desde el panel de control de tu hosting (cPanel).


Qué es un usuario de MySQL y qué son los privilegios

Antes de entrar en los pasos concretos, es vital entender dos conceptos básicos. Esto te evitará muchos dolores de cabeza en el futuro.

El usuario de MySQL

Un usuario de MySQL no es lo mismo que un usuario de cPanel. El usuario de cPanel es el que te permite entrar al panel de control. El usuario de MySQL es una credencial (nombre y contraseña) que se utiliza únicamente para que una aplicación (por ejemplo, WordPress) se conecte a la base de datos.

Puedes tener varios usuarios de MySQL en tu cuenta de hosting. De hecho, es recomendable tener un usuario por cada base de datos o aplicación que gestiones. Esto facilita la administración y el control de permisos.

Los privilegios (permisos)

Los privilegios son las acciones que ese usuario puede realizar dentro de la base de datos. No todos los usuarios necesitan poder hacer de todo. Por ejemplo, un usuario que solo lee información (como el de una página pública) no debería poder borrar tablas.

Los privilegios más comunes son:

  • ALL PRIVILEGES (Todos los privilegios): Da control total. Úsalo solo en entornos de desarrollo o cuando estés seguro de que no hay riesgo.
  • SELECT: Permite leer datos.
  • INSERT: Permite añadir nuevos datos.
  • UPDATE: Permite modificar datos existentes.
  • DELETE: Permite borrar datos.
  • CREATE: Permite crear nuevas tablas o bases de datos.
  • DROP: Permite eliminar tablas o bases de datos completas (muy peligroso).
  • ALTER: Permite modificar la estructura de las tablas.

Cómo acceder a la sección de Bases de Datos en cPanel

El primer paso es, obviamente, entrar en tu cPanel. Normalmente se accede a través de una URL como tudominio.com/cpanel o cpanel.tudominio.com. Una vez dentro, busca la sección llamada "Bases de Datos".

Dentro de esa sección, verás varias herramientas. Las que nos interesan ahora son:

  • "Base de Datos MySQL": Aquí es donde se crean las bases de datos en sí.
  • "Usuarios de la Base de Datos MySQL": Aquí es donde se crean los usuarios y sus contraseñas.
  • "Remoto MySQL" (a veces llamado "Acceso remoto"): Para permitir conexiones desde otras IPs, pero eso es un tema más avanzado.

Paso a paso: Crear una base de datos y un usuario en cPanel

Vamos a realizar el proceso completo desde cero. Crearemos una base de datos, un usuario y luego los vincularemos con los privilegios adecuados.

Paso 1: Crear la base de datos

  1. Ve a la sección "Base de Datos MySQL".
  2. En el campo "Nueva Base de Datos", escribe un nombre descriptivo. No hace falta que pongas el prefijo, ya que cPanel lo añade automáticamente (normalmente es tu nombre de usuario de cPanel seguido de un guion bajo). Por ejemplo, si tu usuario es juanperez y escribes tienda, la base se llamará juanperez_tienda.
  3. Haz clic en el botón "Crear Base de Datos".
  4. Verás un mensaje de éxito. Anota el nombre completo de la base de datos, lo necesitarás más tarde.

Paso 2: Crear el usuario de MySQL

  1. Ahora ve a la sección "Usuarios de la Base de Datos MySQL".
  2. En el campo "Nombre de Usuario", escribe un nombre. Al igual que con la base, cPanel añadirá el prefijo automáticamente. Por ejemplo, usuario_tienda.
  3. En el campo "Contraseña", genera una contraseña segura. cPanel tiene un generador de contraseñas que puedes usar. Es crucial que sea larga y compleja para la seguridad.
  4. Vuelve a escribir la contraseña en el campo de confirmación.
  5. Haz clic en "Crear Usuario".

Paso 3: Asignar el usuario a la base de datos

Este es el paso clave. Hasta ahora, tenemos una base y un usuario, pero no están conectados.

  1. Dentro de la misma página de "Usuarios de la Base de Datos MySQL", busca la sección llamada "Añadir Usuario a la Base de Datos".
  2. En el primer desplegable, selecciona el usuario que acabas de crear.
  3. En el segundo desplegable, selecciona la base de datos que creaste.
  4. Haz clic en "Añadir". Te llevará a una nueva página para configurar los privilegios.

Cómo asignar privilegios correctamente (La parte más importante)

Una vez que has pulsado "Añadir", verás una lista de casillas de verificación. Cada una representa un privilegio específico. Aquí es donde debes pensar qué necesita hacer tu aplicación.

Escenario A: Instalación de WordPress

Para la mayoría de los CMS (WordPress, Joomla, etc.), la recomendación estándar es dar todos los privilegios excepto uno: GRANT. Esto permite que la aplicación cree tablas, inserte contenido, actualice plugins, etc.

[TIP]
Para WordPress, selecciona TODAS las casillas excepto "GRANT". Esto es lo más común y funciona sin problemas. No es necesario dar "GRANT" para el funcionamiento normal.

Escenario B: Aplicación que solo lee datos (por ejemplo, un visor público)

Si tienes una aplicación que solo muestra información y no permite a los usuarios editar nada, lo más seguro es dar únicamente el privilegio SELECT.

[WARNING]
Nunca des el privilegio DROP a un usuario que no sea absolutamente necesario. DROP permite eliminar tablas enteras. Un error en la aplicación o un atacante con este permiso podría destruir toda tu base de datos en segundos.

Escenario C: Aplicación que necesita escribir pero no borrar

Para un foro o una aplicación donde los usuarios pueden publicar contenido, pero no deberían poder eliminar mensajes de otros, puedes dar SELECT, INSERT y UPDATE. Deja DELETE sin marcar para mayor seguridad.

Cómo guardar los cambios

Después de marcar las casillas que necesitas, haz clic en el botón "Realizar Cambios" o "Hacer Cambios". Verás un mensaje de confirmación. ¡Listo! Tu usuario ya tiene permisos sobre esa base de datos.


Modificar privilegios de un usuario existente

¿Ya tienes un usuario creado y necesitas cambiar sus privilegios? No es necesario borrarlo y crearlo de nuevo.

  1. Ve a la sección "Usuarios de la Base de Datos MySQL".
  2. Busca la sección "Añadir Usuario a la Base de Datos".
  3. En los desplegables, selecciona el usuario y la base de datos correspondientes.
  4. Haz clic en "Añadir". Te llevará a la página de privilegios.
  5. Marca o desmarca las casillas según necesites.
  6. Haz clic en "Realizar Cambios".

Este método funciona tanto si el usuario ya estaba asignado como si no. Es la forma más rápida de actualizar los permisos.


Cómo eliminar un usuario o quitarle el acceso a una base de datos

Llega un momento en que ya no necesitas un usuario o una base de datos. Eliminarlos es tan importante como crearlos, para no dejar puertas abiertas.

Eliminar un usuario de una base de datos (sin borrar el usuario)

  1. En la sección "Usuarios de la Base de Datos MySQL", busca el apartado "Usuarios en la Base de Datos".
  2. Verás una lista de todos los usuarios que tienen acceso a cada base de datos.
  3. Al lado del usuario que quieres eliminar, verás un enlace o botón que dice "Eliminar".
  4. Confirma la acción. Esto revocará todos los privilegios que tenía sobre esa base, pero el usuario seguirá existiendo para otras bases.

Eliminar un usuario de MySQL por completo

  1. En la sección "Usuarios de la Base de Datos MySQL", busca la lista de usuarios existentes.
  2. Haz clic en "Eliminar" al lado del usuario que quieras borrar.
  3. Confirma la eliminación.

[WARNING]
Si eliminas un usuario que está conectado a una base de datos, tu aplicación web dejará de funcionar inmediatamente. Asegúrate de que la aplicación ya no lo está utilizando o de haber actualizado su archivo de configuración (por ejemplo, wp-config.php en WordPress) con las nuevas credenciales.


Buenas prácticas de seguridad para tus bases de datos MySQL

La gestión de usuarios no es solo un trámite administrativo; es una parte fundamental de la seguridad de tu sitio web. Aquí tienes algunas reglas de oro.

1. Usa contraseñas únicas y complejas

Nunca uses contraseñas como "123456" o "admin". Utiliza el generador de contraseñas de cPanel. Una buena práctica es usar una contraseña de al menos 16 caracteres, con mayúsculas, minúsculas, números y símbolos.

2. Principio del menor privilegio

Siempre otorga al usuario solo los privilegios que necesita para funcionar. Si una aplicación solo necesita leer, no le des permisos de escritura. Esto limita el daño en caso de que la aplicación sea comprometida.

3. No compartas usuarios entre aplicaciones

Cada aplicación (WordPress, tienda, foro) debería tener su propio usuario de MySQL. Si una aplicación es hackeada, el atacante no podrá acceder a los datos de las otras aplicaciones.

4. Cambia las contraseñas periódicamente

Al igual que cambias la contraseña de tu correo electrónico, es buena práctica cambiar las contraseñas de los usuarios de MySQL cada cierto tiempo (por ejemplo, cada 6 meses). Recuerda actualizar también el archivo de configuración de tu aplicación.

5. Elimina los usuarios y bases de datos que no uses

Los restos de instalaciones antiguas son un objetivo fácil para los atacantes. Si ya no usas una base de datos, elimínala. Si ya no usas un usuario, elimínalo.


Preguntas frecuentes (FAQ) sobre usuarios y privilegios MySQL

¿Qué hago si mi web muestra el error "Error establishing a database connection"?

Este es el error más común. Suele significar que las credenciales en tu archivo de configuración son incorrectas, o que el usuario no tiene privilegios sobre la base de datos.

Solución: Revisa el archivo wp-config.php (en WordPress) y verifica que el nombre de la base de datos, el usuario y la contraseña sean exactamente los que has creado en cPanel. Asegúrate de que el usuario esté añadido a la base de datos con los permisos correctos.

¿Puedo crear un usuario que tenga acceso a varias bases de datos?

Sí, puedes. Simplemente añade el mismo usuario a varias bases de datos desde la sección "Añadir Usuario a la Base de Datos". Puedes asignar diferentes privilegios en cada base de datos.

¿Qué es el privilegio "GRANT" y por qué no debería darlo?

El privilegio GRANT permite que el usuario pueda otorgar sus propios privilegios a otros usuarios. Esto es un riesgo de seguridad porque, si la aplicación es comprometida, el atacante podría crear nuevos usuarios con permisos elevados. Para el funcionamiento normal de una web, nunca es necesario.

¿Cómo puedo saber qué privilegios tiene un usuario?

En cPanel, ve a la sección "Usuarios de la Base de Datos MySQL" y busca la sección "Usuarios en la Base de Datos". Haz clic en el enlace de "Privilegios" al lado del usuario y la base de datos que quieras revisar.

¿Es lo mismo MySQL que MariaDB?

En la mayoría de los hosting actuales, MySQL y MariaDB se usan indistintamente. MariaDB es un "fork" (una derivación) de MySQL, y la forma de gestionarlo desde cPanel es exactamente la misma. No te preocupes por la diferencia.

¿Y si mi hosting no tiene cPanel?

Si tu hosting no usa cPanel, es posible que uses Syspanel (anteriormente conocido como HestiaCP). En ese caso, el proceso es similar, pero la interfaz es diferente. Para acceder al panel de administración de tu hosting con Syspanel, recuerda que el puerto de acceso es el 2106 (por ejemplo, https://tudominio.com:2106). Dentro, busca la sección de Bases de Datos y sigue los mismos principios: crear base, crear usuario y asignar permisos.


Conclusión

Gestionar los usuarios y privilegios de MySQL en cPanel es una habilidad esencial para cualquier persona que administre un sitio web. No se trata solo de "hacer que funcione", sino de hacerlo de forma segura y eficiente.

Hemos visto que el proceso se divide en tres pasos claros: crear la base de datos, crear el usuario y asignar los permisos. También hemos aprendido que no todos los privilegios son iguales, y que otorgar demasiados puede ser un riesgo para la seguridad de tu información.

Recuerda siempre aplicar el principio del menor privilegio: da a cada usuario solo lo que necesita. Usa contraseñas fuertes, elimina lo que no uses y revisa periódicamente tus configuraciones. Con estos hábitos, tu base de datos estará bien protegida y tu aplicación funcionará sin problemas.

Si tienes alguna duda, no dudes en consultar la documentación de tu proveedor de hosting o abrir un ticket de soporte. ¡Nos vemos en el siguiente artículo!

¿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