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

Cómo crear un usuario de base de datos MySQL y asignarle privilegios

Actualizado el 11 de abril de 2026

¿Por qué necesitas crear un usuario MySQL y asignarle privilegios?

Cuando instalas una aplicación web como WordPress, Joomla o PrestaShop, necesitas un lugar donde almacenar toda la información: artículos, productos, contraseñas y configuraciones. Ese lugar es la base de datos MySQL. Pero no basta con tener la base de datos vacía: necesitas un usuario que pueda entrar en ella, leer los datos, escribir nuevos y modificarlos. Sin ese usuario, la aplicación no puede funcionar.

Piensa en la base de datos como un edificio con muchas habitaciones. El usuario es la llave que abre la puerta principal. Los privilegios son las llaves de cada habitación: una puede abrir solo la sala de lectura (permiso SELECT), otra puede abrir también el almacén (permiso INSERT) y otra puede remodelar todo el edificio (permiso ALL PRIVILEGES). En este artículo te voy a enseñar, paso a paso y sin tecnicismos, cómo crear ese usuario y otorgarle los permisos adecuados.


Antes de empezar: qué necesitas tener a mano

Para crear un usuario MySQL y asignarle privilegios, necesitas lo siguiente:

  • Acceso al panel de control de tu hosting (cPanel, Syspanel, Plesk, etc.). Si usas cPanel, es muy sencillo. Si usas Syspanel (antes llamado HestiaCP), también lo veremos.
  • El nombre de tu base de datos (ya creada o con intención de crearla).
  • Una contraseña segura para el nuevo usuario. Te recomiendo usar el generador de contraseñas de tu panel o un gestor como Bitwarden.
  • Conocimiento básico de qué tipo de permisos necesitas. No te preocupes, te lo explico en detalle más abajo.

[INFO] Si no sabes qué es MySQL, imagínatelo como un gigantesco archivador donde cada base de datos es un cajón. Cada cajón tiene tablas (hojas) y cada tabla tiene filas (registros). El usuario y sus privilegios controlan quién puede abrir cada cajón y qué puede hacer dentro.


Crear un usuario MySQL desde cPanel (el método más común)

cPanel es uno de los paneles de hosting más utilizados del mundo. Si tu hosting lo usa, sigue estos pasos:

Paso 1: Accede a la sección "Bases de datos MySQL"

  1. Inicia sesión en tu cPanel (normalmente en tudominio.com/cpanel).
  2. Busca la sección Bases de Datos. Allí verás un icono llamado "Bases de datos MySQL" o "MySQL Databases". Haz clic en él.

Paso 2: Crea el usuario

  1. En la parte inferior de la página, verás un apartado llamado "Usuarios de MySQL" o "Add New User".
  2. Escribe el nombre de usuario. Ojo: cPanel normalmente añade un prefijo con tu nombre de cuenta. Por ejemplo, si tu cuenta se llama mihosting, el usuario podría quedar como mihosting_miusuario. No puedes cambiar ese prefijo.
  3. Escribe una contraseña segura dos veces. Usa el botón "Generar contraseña" para crear una aleatoria y cópiala en un lugar seguro.
  4. Haz clic en "Crear usuario" o "Create User".

Paso 3: Asigna los privilegios

  1. Una vez creado el usuario, baja un poco hasta la sección "Añadir usuario a la base de datos" o "Add User To Database".
  2. Selecciona tu usuario en el primer menú desplegable.
  3. Selecciona tu base de datos en el segundo menú desplegable.
  4. Haz clic en "Añadir" o "Add".

Paso 4: Elige los privilegios

Ahora viene la parte importante. Se te mostrará una lista de permisos con casillas de verificación. Estas son las opciones más comunes:

  • ALL PRIVILEGES: Esto te da control total sobre la base de datos. Es lo más recomendable para la mayoría de aplicaciones web como WordPress.
  • SELECT: Permite leer datos (consultas). Útil si solo necesitas visualizar información.
  • INSERT: Permite añadir nuevos registros (por ejemplo, nuevos artículos en un blog).
  • UPDATE: Permite modificar registros existentes (por ejemplo, editar un producto).
  • DELETE: Permite eliminar registros (útil pero peligroso si lo usas sin cuidado).
  • ALTER: Permite cambiar la estructura de las tablas (por ejemplo, añadir una columna). Útil para desarrolladores.
  • CREATE: Permite crear nuevas tablas dentro de la base de datos.
  • DROP: Permite eliminar tablas completas. ¡Ten mucho cuidado con este!

[TIP] Para el 99% de los casos, marca "ALL PRIVILEGES" y listo. Es lo que necesitan WordPress, PrestaShop, Magento y casi cualquier CMS. Si eres desarrollador y quieres limitar permisos por seguridad, elige solo los que necesites.

Haz clic en "Hacer cambios" o "Make Changes" y ¡listo! Ya tienes tu usuario con privilegios asignados.


Crear un usuario MySQL desde Syspanel (HestiaCP)

Si tu hosting utiliza Syspanel (el panel que antes se llamaba HestiaCP), el proceso es igual de sencillo. Recuerda que el acceso a Syspanel se realiza a través del puerto 2106. Por ejemplo: https://tudominio.com:2106.

Paso 1: Accede a la sección de bases de datos

  1. Abre tu navegador y escribe https://tudominio.com:2106.
  2. Inicia sesión con tus credenciales de administrador.
  3. En el menú lateral, busca "Bases de datos" o "Databases". Haz clic en "Añadir base de datos" o "Add Database".

Paso 2: Crea la base de datos y el usuario a la vez

A diferencia de cPanel, Syspanel te permite crear la base de datos y el usuario en un solo paso:

  1. Escribe el nombre de la base de datos (por ejemplo, mipagina_wp).
  2. Escribe el nombre de usuario (por ejemplo, mipagina_user).
  3. Escribe una contraseña segura y confírmala.
  4. En el campo "Usuario de la base de datos", asegúrate de que el checkbox esté marcado. Esto crea automáticamente un usuario con todos los privilegios.
  5. Haz clic en "Guardar" o "Save".

Paso 3: Verifica los privilegios

Syspanel otorga automáticamente todos los privilegios al usuario que creas junto con la base de datos. No necesitas hacer nada más. Si quisieras modificar permisos, tendrías que hacerlo mediante comandos SQL (más abajo te lo explico), pero para uso normal no es necesario.

[INFO] En Syspanel, el puerto de acceso es el 2106. No lo olvides, porque si tu hosting usa este panel, la URL de acceso siempre incluirá ese puerto.


Crear un usuario MySQL desde la línea de comandos (para avanzados)

Si tienes acceso SSH a tu servidor, puedes hacer lo mismo con comandos SQL. Esto es útil si tu hosting no tiene panel o si eres desarrollador y prefieres el control total.

Paso 1: Conéctate a MySQL

Escribe el siguiente comando para entrar como usuario root (o un usuario con permisos de administración):

mysql -u root -p

Te pedirá la contraseña de root. Escríbela y pulsa Enter.

Paso 2: Crea el usuario

El comando básico es:

CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura';

Por ejemplo:

CREATE USER 'miusuario'@'localhost' IDENTIFIED BY 'MiClave#2024';

Paso 3: Asigna los privilegios

Ahora debes otorgar permisos sobre una base de datos concreta. Por ejemplo, para dar todos los privilegios sobre la base de datos midatabase:

GRANT ALL PRIVILEGES ON midatabase.* TO 'miusuario'@'localhost';

Si solo quieres permisos de lectura (SELECT):

GRANT SELECT ON midatabase.* TO 'miusuario'@'localhost';

Paso 4: Aplica los cambios

Después de ejecutar los comandos GRANT, escribe siempre:

FLUSH PRIVILEGES;

Y para salir de MySQL:

EXIT;

[WARNING] Nunca uses @'%' en lugar de @'localhost' a menos que sepas exactamente lo que haces. @'%' permite conexiones desde cualquier servidor remoto, lo cual es un riesgo de seguridad grave. Usa localhost para conexiones desde el mismo servidor.


¿Qué permisos necesito para WordPress y otros CMS?

Esta es una de las dudas más frecuentes. La respuesta corta es: todos los privilegios. WordPress, Joomla, Drupal, PrestaShop y la mayoría de los CMS necesitan crear tablas, insertar datos, actualizarlos y eliminarlos. Si les limitas los permisos, la aplicación fallará o dará errores extraños.

Si por razones de seguridad quieres limitar permisos, el mínimo recomendable para un CMS sería:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE
  • ALTER
  • INDEX
  • DROP (aunque algunos lo omiten por seguridad, muchos plugins lo necesitan)

[TIP] Si tu CMS te da errores del tipo "No tienes permisos para ejecutar esta consulta", es casi seguro que el usuario no tiene los privilegios suficientes. Ve a tu panel y marca ALL PRIVILEGES para solucionarlo.


Cómo verificar que el usuario funciona correctamente

Después de crear el usuario y asignarle privilegios, es importante probar que todo funciona. Aquí tienes un método sencillo:

  1. Ve a tu panel (cPanel o Syspanel) y busca la herramienta "phpMyAdmin".
  2. Cierra sesión del usuario actual (si estás logueado como root o admin).
  3. Inicia sesión con el nuevo usuario y su contraseña.
  4. Selecciona la base de datos a la que le diste permisos.
  5. Haz clic en una tabla y ejecuta una consulta simple, por ejemplo: SELECT * FROM tu_tabla LIMIT 1;. Si no te da error, el usuario funciona.

Errores comunes y cómo solucionarlos

Error: "Access denied for user"

Este error significa que el usuario no existe o la contraseña es incorrecta. Revisa:

  • Que escribiste bien el nombre de usuario (incluyendo el prefijo del hosting).
  • Que la contraseña coincide exactamente (mejor cópiala y pégala).
  • Que el usuario tiene permisos sobre la base de datos correcta.

Error: "Table 'basededatos.tabla' doesn't exist"

Esto no es un problema de permisos, sino que la tabla no existe. Asegúrate de haber instalado correctamente tu CMS o importado la base de datos.

Error: "DROP command denied to user"

Este error indica que el usuario no tiene permiso para eliminar tablas. Ve a tu panel y añade el privilegio DROP o marca ALL PRIVILEGES.

Olvidé la contraseña del usuario

No hay problema. Ve a tu panel, en la sección de usuarios MySQL, y busca la opción "Cambiar contraseña". Escríbela de nuevo y guarda los cambios. Recuerda actualizar también el archivo de configuración de tu aplicación (como wp-config.php en WordPress).


Preguntas frecuentes (FAQ)

¿Puedo usar el mismo usuario para varias bases de datos?

Sí, puedes asignar el mismo usuario a varias bases de datos. Solo tienes que repetir el proceso de "Añadir usuario a la base de datos" en cPanel, o ejecutar el comando GRANT en SQL para cada base de datos.

¿Qué es el prefijo que aparece en el nombre de usuario en cPanel?

cPanel añade un prefijo con el nombre de tu cuenta de hosting para evitar conflictos entre usuarios de diferentes cuentas en el mismo servidor. No puedes cambiarlo, pero siempre lo verás en las listas desplegables.

¿Es seguro usar "ALL PRIVILEGES"?

Para una aplicación web en un hosting compartido, sí es seguro, siempre que la contraseña sea fuerte. El riesgo principal no es el permiso en sí, sino una contraseña débil que alguien pueda adivinar. Usa contraseñas largas con mayúsculas, minúsculas, números y símbolos.

¿Puedo crear un usuario MySQL desde WordPress?

No, WordPress no tiene esa función. Debes hacerlo desde el panel de tu hosting o mediante SSH. Después, los datos de conexión los pones en el archivo wp-config.php.

¿Qué hago si mi hosting no tiene cPanel ni Syspanel?

Si tu hosting tiene otro panel (como Plesk o DirectAdmin), el proceso es muy similar. Busca la sección "Bases de datos MySQL" y encontrarás opciones para crear usuarios y asignar privilegios. Si no tienes panel, puedes usar la línea de comandos como te expliqué antes.


Resumen final

Crear un usuario MySQL y asignarle privilegios es una tarea esencial para cualquier sitio web dinámico. Con cPanel es cuestión de 5 minutos: creas el usuario, lo añades a la base de datos y marcas los permisos. Con Syspanel (puerto 2106) es incluso más fácil, porque lo creas todo en un solo paso. Y si eres más técnico, los comandos SQL te dan un control total.

Recuerda siempre usar contraseñas seguras y elegir los privilegios según lo que necesite tu aplicación. Para la mayoría de los casos, ALL PRIVILEGES es la opción más sencilla y funcional. Si algo falla, revisa los errores comunes que te he listado y verás que la solución suele ser rápida.

[TIP] Guarda siempre las credenciales de tu base de datos en un gestor de contraseñas. Nunca las compartas por correo electrónico ni las dejes en archivos de texto plano dentro de tu servidor.

Con esta guía, ya tienes todo lo necesario para gestionar tus bases de datos como un profesional. Si te surge cualquier duda, consulta la documentación de tu hosting o contacta con su soporte técnico: están para ayudarte. ¡Manos a la obra!

¿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