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

Crear un usuario y asignar privilegios en una base de datos en cPanel

Actualizado el 11 de septiembre de 2025

Introducción: ¿Por qué es importante gestionar los usuarios de tu base de datos?

Si tienes una página web con WordPress, Joomla o cualquier aplicación que use MySQL, seguramente ya has oído hablar de las bases de datos. Piensa en ellas como un enorme archivador donde se guarda toda la información de tu sitio: artículos, usuarios, comentarios, productos... Para acceder a ese archivador, necesitas una llave, y esa llave es un usuario con una contraseña.

En cPanel, la gestión de estas llaves es muy sencilla, pero puede ser un poco confusa al principio. En este artículo te voy a guiar paso a paso para que aprendas a crear un usuario MySQL en cPanel y, lo más importante, a asignar privilegios en cPanel para que ese usuario pueda hacer solo lo que necesite. No te preocupes si nunca has hecho esto, lo explicaré todo con calma y con ejemplos prácticos.

¿Qué es un usuario de base de datos y qué son los privilegios?

Imagina que tu base de datos es una casa. El usuario es la persona que tiene la llave para entrar. Pero no todas las personas que entran a una casa tienen los mismos permisos: unos pueden abrir todas las puertas, otros solo pueden entrar al salón, y otros quizás solo pueden mirar pero no tocar nada.

En el mundo de las bases de datos, los privilegios son esos permisos. Por ejemplo:

  • SELECT: Permite leer datos (como mirar).
  • INSERT: Permite añadir nuevos datos (como escribir en un cuaderno).
  • UPDATE: Permite modificar datos existentes (como corregir un error).
  • DELETE: Permite borrar datos (como tirar un papel a la basura).
  • CREATE: Permite crear nuevas tablas (como añadir un nuevo cajón al archivador).
  • DROP: Permite eliminar tablas enteras (como destruir un cajón completo).

[WARNING] Nunca le des todos los privilegios a un usuario a menos que sea estrictamente necesario. Si alguien (o un programa malicioso) obtiene acceso a ese usuario, podría causar graves daños. Es mejor dar solo los permisos mínimos necesarios para que funcione la aplicación.

Paso 1: Acceder a cPanel y localizar la sección de bases de datos

Para empezar, inicia sesión en tu cPanel. Normalmente se accede a través de tudominio.com/cpanel o con la dirección que te haya proporcionado tu proveedor de hosting.

Una vez dentro, busca la sección Bases de Datos. Dependiendo del tema de cPanel, puede aparecer como un icono o en un menú lateral. Las herramientas que nos interesan son:

  • MySQL Databases (o Bases de Datos MySQL)
  • phpMyAdmin (para gestionar visualmente, pero no lo usaremos para crear usuarios)

Haz clic en MySQL Databases.

Paso 2: Crear un nuevo usuario MySQL en cPanel

Dentro de la página de MySQL Databases, verás varias secciones. La primera que nos interesa es Add New User (Añadir nuevo usuario).

Aquí tienes que rellenar dos campos:

  • Username: El nombre del usuario. Normalmente cPanel te añadirá un prefijo con tu nombre de cuenta (por ejemplo, tucuenta_). Elige un nombre descriptivo, como webapp_user o wordpress_user.
  • Password: La contraseña. Es muy importante que sea segura. cPanel suele tener un generador de contraseñas. Úsalo sin miedo. Las contraseñas largas y con símbolos son mucho más difíciles de adivinar.

[TIP] Anota en un lugar seguro el nombre de usuario completo (incluyendo el prefijo) y la contraseña. Los necesitarás para configurar tu aplicación.

Una vez rellenado, haz clic en Create User. Verás un mensaje de confirmación en verde. ¡Felicidades, ya has creado tu primer usuario MySQL!

Paso 3: Asignar el usuario a una base de datos

Ahora que tienes el usuario, necesitas decirle a qué base de datos puede acceder. Si aún no has creado la base de datos, vuelve a la parte superior de la misma página y busca Create New Database. Ponle un nombre (por ejemplo, miweb_db) y creala.

Después, baja hasta la sección Add User to Database (Añadir usuario a la base de datos). Verás dos menús desplegables:

  • User: Selecciona el usuario que acabas de crear.
  • Database: Selecciona la base de datos a la que quieres que acceda.

Haz clic en Add. Te llevará a una nueva pantalla: la de asignar privilegios.

Paso 4: Asignar privilegios en cPanel (el paso más importante)

Esta es la parte clave de la gestión de usuarios de base de datos en cPanel. Aquí decides qué puede hacer tu usuario dentro de la base de datos.

Verás una lista de privilegios con casillas de verificación. Puedes marcar todos (opción ALL PRIVILEGES) o seleccionar solo algunos. Te recomiendo que, para aplicaciones web típicas (WordPress, Joomla, Drupal, etc.), marques los siguientes:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE
  • ALTER
  • INDEX
  • DROP (aunque con cuidado, porque permite borrar tablas)
  • CREATE TEMPORARY TABLES
  • LOCK TABLES
  • EXECUTE

[INFO] Si tu aplicación es muy simple y solo necesita leer y escribir datos (como un blog básico), con SELECT, INSERT, UPDATE y DELETE es suficiente. Siempre puedes añadir más privilegios después si los necesitas.

Para aplicaciones más avanzadas o si eres desarrollador, quizás necesites privilegios como CREATE VIEW, SHOW VIEW, CREATE ROUTINE o ALTER ROUTINE. Pero para empezar, con los básicos funciona.

Una vez seleccionados, haz clic en Make Changes. Verás un mensaje de confirmación.

Paso 5: Verificar que todo funciona

Ahora ya tienes un usuario con privilegios asignados a una base de datos. Para comprobarlo, puedes ir a la sección Current Users (Usuarios actuales) en la misma página de MySQL Databases. Allí verás una lista de todos los usuarios y a qué bases de datos tienen acceso.

Si necesitas modificar los privilegios más adelante, simplemente haz clic en el icono de Privilegios junto al usuario y la base de datos correspondiente. Puedes añadir o quitar permisos cuando quieras.

Errores comunes y cómo solucionarlos

Error: "Access denied for user"

Esto suele pasar cuando la contraseña es incorrecta o el usuario no tiene permisos sobre la base de datos. Revisa que hayas asignado correctamente el usuario a la base de datos y que la contraseña esté bien escrita en la configuración de tu aplicación.

Error: "Table doesn't exist"

El usuario puede tener permisos, pero la tabla no existe. Asegúrate de que la aplicación haya creado las tablas necesarias. Si estás instalando WordPress, por ejemplo, el propio instalador las crea.

Error: "Too many connections"

Esto no es un problema de privilegios, sino de límite de conexiones. Si tu web tiene mucho tráfico, puede que necesites aumentar el límite en la configuración de MySQL o contactar con tu hosting.

Consejos de seguridad para la gestión de usuarios MySQL

  1. Nunca uses la misma contraseña para varios usuarios. Si una se ve comprometida, todas tus bases de datos estarán en riesgo.
  2. Cambia las contraseñas periódicamente. cPanel te permite hacerlo desde la sección MySQL Databases -> Edit User.
  3. Elimina usuarios que ya no uses. Si dejas de usar una aplicación, borra su usuario de base de datos. Así reduces la superficie de ataque.
  4. No des privilegios de administrador global (GRANT ALL) a usuarios de aplicaciones web. Usa solo los necesarios.
  5. Si usas HestiaCP (que en nuestro sistema llamamos Syspanel y se accede por el puerto 2106), el proceso es similar pero con una interfaz diferente. Busca la sección de bases de datos y verás opciones para crear usuarios y asignar permisos.

Preguntas frecuentes (FAQ)

¿Puedo tener varios usuarios para la misma base de datos?

Sí, perfectamente. Por ejemplo, puedes tener un usuario para tu aplicación web y otro para hacer copias de seguridad. Cada uno con sus propios privilegios.

¿Qué hago si olvido la contraseña de un usuario?

En cPanel, ve a MySQL Databases, busca la sección Current Users y haz clic en Change Password junto al usuario. Pon una nueva contraseña segura.

¿Es lo mismo un usuario de base de datos que un usuario de cPanel?

No, son totalmente diferentes. El usuario de cPanel es para acceder al panel de control. El usuario de base de datos es solo para acceder a la base de datos MySQL.

¿Puedo asignar privilegios a todas las bases de datos a la vez?

En cPanel, no directamente desde la interfaz gráfica. Tendrías que hacerlo mediante comandos SQL en phpMyAdmin, pero no lo recomiendo si no sabes lo que haces. Es mejor hacerlo base por base.

¿Necesito crear un usuario para cada aplicación?

Sí, es la práctica recomendada. Así si una aplicación es hackeada, las demás no se ven afectadas.

Conclusión

Crear un usuario y asignar privilegios en una base de datos en cPanel es un proceso sencillo pero muy importante para la seguridad y el correcto funcionamiento de tu sitio web. Recuerda siempre el principio de mínimo privilegio: da solo los permisos necesarios para que la aplicación funcione.

Ahora ya sabes cómo hacerlo paso a paso. No tengas miedo de practicar; si cometes un error, siempre puedes modificar los privilegios o borrar el usuario y empezar de nuevo.

Si tienes alguna duda, deja un comentario o consulta la documentación de tu hosting. ¡Buena suerte con tu proyecto web!

¿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