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

Cómo crear un usuario de base de datos y asignar permisos en DirectAdmin

Actualizado el 24 de marzo de 2026

Antes de empezar: ¿Qué es un usuario de base de datos y por qué necesitas uno?

Cuando creas una base de datos en DirectAdmin, el sistema te asigna un usuario principal con control total sobre ella. Sin embargo, para aplicaciones web (como WordPress, Joomla o PrestaShop) es una mala práctica usar ese usuario principal para todo.

¿Por qué? Porque si tu aplicación es vulnerable y alguien logra obtener las credenciales, tendrá acceso total a tus datos, incluyendo la posibilidad de borrar tablas enteras.

La solución es sencilla: crear usuarios MySQL adicionales y asignarles solo los permisos estrictamente necesarios. Por ejemplo, un usuario que solo pueda leer datos (SELECT) para un reporte, o un usuario que pueda insertar y actualizar (INSERT, UPDATE) pero no borrar.

En esta guía paso a paso te enseñaré cómo hacerlo directamente desde el panel de control DirectAdmin, sin necesidad de usar la línea de comandos ni conocimientos avanzados de MySQL.


Requisitos previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Acceso al panel de DirectAdmin con un usuario que tenga permisos de administración sobre las bases de datos.
  • Una base de datos ya creada (si no la tienes, puedes crearla desde el mismo panel en la sección "MySQL Management").
  • Saber cuál es el nombre exacto de tu base de datos (suele tener un prefijo como usuario_basededatos).

[INFO] Si aún no has creado tu base de datos, el proceso es muy similar. En el mismo apartado de "MySQL Management" encontrarás la opción "Create new database". Anota el nombre de la base de datos, el usuario y la contraseña que generes, ya que los necesitarás más adelante.


Paso 1: Accede al panel de gestión de MySQL

Lo primero que debes hacer es iniciar sesión en tu panel de DirectAdmin.

Una vez dentro, busca en el menú principal la sección que dice "MySQL Management" o "Administración de MySQL". Dependiendo de la versión de DirectAdmin que uses, puede estar en la página principal o dentro de un submenú llamado "Account Manager".

Al hacer clic, verás una lista con todas las bases de datos que tienes creadas en tu cuenta. Cada base de datos aparecerá con su nombre, el tamaño que ocupa y algunos iconos de acción a la derecha.


Paso 2: Identifica la base de datos correcta

En la lista de bases de datos, localiza aquella a la que quieres agregar un nuevo usuario.

Haz clic en el icono que tiene forma de lápiz o que dice "Manage" (Gestionar). Esto te llevará a la página de administración específica de esa base de datos.

En esta página verás información importante como:

  • El nombre de la base de datos.
  • El usuario principal (el que se creó junto con la base de datos).
  • Una tabla con los usuarios que ya tienen acceso.
  • Los permisos que tiene cada usuario sobre la base de datos.

[WARNING] No confundas el usuario de la base de datos con el usuario de tu cuenta de hosting. Son cosas completamente distintas. El usuario de la base de datos solo sirve para conectarse a esa base de datos concreta.


Paso 3: Crea un nuevo usuario MySQL

Ahora viene la parte clave de este tutorial: directadmin crear usuario mysql.

En la página de gestión de la base de datos, busca un botón o enlace que diga "Create New User" o "Add User". Al hacer clic, se abrirá un formulario con los siguientes campos:

  • Username: El nombre del nuevo usuario. DirectAdmin normalmente te sugerirá uno con el prefijo de tu cuenta (por ejemplo, tuusuario_nuevouser). Puedes cambiarlo, pero es recomendable mantener el prefijo para evitar conflictos.

  • Password: La contraseña para el nuevo usuario. DirectAdmin te ofrece un generador automático de contraseñas seguras. Te recomiendo usarlo, ya que las contraseñas débiles son la principal causa de hackeos en bases de datos.

  • Confirm Password: Repite la contraseña para asegurarte de que no has cometido errores.

Una vez rellenados los campos, haz clic en "Create" o "Add".

[TIP] Anota en un lugar seguro tanto el nombre de usuario como la contraseña. No podrás volver a ver la contraseña después de crearla; solo podrás cambiarla por una nueva.


Paso 4: Asigna los permisos al nuevo usuario

Después de crear el usuario, DirectAdmin te redirigirá automáticamente a la pantalla de asignación de permisos. También puedes llegar a ella haciendo clic en el icono de configuración junto al nombre del usuario en la lista.

Esta es la parte más importante del proceso. Aquí es donde decides qué puede hacer y qué no puede hacer este usuario dentro de la base de datos.

DirectAdmin te mostrará una lista de privilegios MySQL con casillas de verificación. Estos son los más comunes y sus funciones:

Permisos básicos (imprescindibles para casi todo)

  • SELECT: Permite leer datos de las tablas. Es el permiso más básico.
  • INSERT: Permite añadir nuevos registros (filas) a las tablas.
  • UPDATE: Permite modificar registros existentes.
  • DELETE: Permite eliminar registros de las tablas.

Permisos estructurales (para modificar la estructura de la base de datos)

  • CREATE: Permite crear nuevas tablas o bases de datos.
  • ALTER: Permite cambiar la estructura de tablas existentes (añadir columnas, cambiar tipos de datos, etc.).
  • DROP: Permite eliminar tablas o bases de datos completas. Este es el permiso más peligroso.
  • INDEX: Permite crear y eliminar índices, lo que acelera las consultas.

Permisos avanzados (normalmente no necesarios para aplicaciones web)

  • GRANT: Permite al usuario otorgar permisos a otros usuarios.
  • REFERENCES: Relacionado con claves foráneas.
  • CREATE TEMPORARY TABLES: Permite crear tablas temporales.
  • LOCK TABLES: Permite bloquear tablas durante operaciones.

Paso 5: ¿Qué permisos elegir según el uso?

No todos los usuarios necesitan todos los permisos. De hecho, la regla de oro es: otorga solo los permisos mínimos necesarios.

Para una aplicación web típica (WordPress, Joomla, etc.)

Si el usuario se va a usar para conectar una aplicación web que necesita leer, escribir y modificar datos, lo recomendable es marcar:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE

Y, en algunos casos, si la aplicación gestiona sus propias tablas (por ejemplo, durante la instalación o actualización):

  • CREATE
  • ALTER
  • INDEX

[WARNING] Evita marcar DROP a menos que sea absolutamente imprescindible. Un solo fallo en la aplicación o un ataque de inyección SQL podría eliminar toda tu base de datos.

Para un usuario de solo lectura (reportes, backups, consultas)

Si solo necesitas que un usuario pueda consultar datos sin modificarlos, marca únicamente:

  • SELECT

Para un usuario administrador completo

Si este usuario va a gestionar toda la base de datos (por ejemplo, un desarrollador externo), puedes marcar todos los permisos, incluido GRANT. Pero ten en cuenta que estás dando acceso total.


Paso 6: Guarda los cambios

Una vez hayas marcado las casillas de los permisos que deseas otorgar, busca el botón "Save" o "Update" en la parte inferior de la página.

DirectAdmin aplicará los cambios al instante y te mostrará un mensaje de confirmación.


Paso 7: Verifica la configuración

Es una buena práctica verificar que todo se ha configurado correctamente.

En la página de gestión de la base de datos, deberías ver ahora al nuevo usuario listado junto con los permisos que le has asignado.

Puedes hacer una prueba rápida: intenta conectar usando el nuevo usuario desde phpMyAdmin o desde un script de prueba. Si tienes problemas, revisa que hayas escrito bien el nombre de usuario y la contraseña.

[TIP] Si necesitas cambiar la contraseña de un usuario existente, puedes hacerlo desde la misma página de gestión. Busca el icono de "Change Password" junto al nombre del usuario.


Gestión de permisos en la base de datos: Buenas prácticas

Ahora que ya sabes cómo crear usuarios y asignar permisos, te dejo algunas recomendaciones profesionales:

1. Usa un usuario distinto para cada aplicación

Si tienes varias aplicaciones en tu hosting (por ejemplo, dos WordPress), crea una base de datos y un usuario independiente para cada una. Así, si una es hackeada, la otra estará a salvo.

2. No reutilices contraseñas

Cada usuario de base de datos debe tener una contraseña única y fuerte. Usa el generador de contraseñas de DirectAdmin.

3. Revoca permisos que ya no se usen

Si una aplicación ya no necesita ciertos permisos (por ejemplo, después de una actualización), vuelve a la página de gestión y desmarca las casillas correspondientes.

4. Elimina usuarios que no uses

En la página de gestión de la base de datos, puedes eliminar usuarios con el icono de la papelera. Esto reduce la superficie de ataque.

5. Cambia las contraseñas periódicamente

Especialmente si has compartido las credenciales con algún desarrollador externo, es buena práctica cambiar las contraseñas al finalizar el proyecto.


Errores comunes y cómo solucionarlos

Error: "Access denied for user"

Este error significa que el usuario no tiene permisos para conectarse a la base de datos. Verifica:

  • Que el nombre de la base de datos y el usuario están bien escritos.
  • Que el usuario tiene permisos asignados sobre la base de datos correcta.
  • Que la contraseña es correcta.

Error: "Table doesn't exist"

El usuario tiene permisos pero no puede ver la tabla. Esto suele pasar cuando el usuario no tiene permiso SELECT sobre esa tabla concreta. Revisa los privilegios.

Error: "DROP command denied"

La aplicación intenta eliminar una tabla pero el usuario no tiene permiso DROP. Si necesitas que la aplicación pueda hacer esto, tendrás que otorgarle el permiso. Pero recuerda el riesgo.


Preguntas frecuentes (FAQ)

¿Puedo crear un usuario MySQL sin tener una base de datos?

Sí, DirectAdmin te permite crear usuarios MySQL independientes. Sin embargo, un usuario sin base de datos no tiene mucha utilidad. Normalmente se crean en el contexto de una base de datos específica.

¿Cuántos usuarios puedo crear en mi base de datos?

No hay un límite estricto, pero el número máximo dependerá del plan de hosting que tengas contratado. Consulta las especificaciones de tu plan.

¿Qué diferencia hay entre "localhost" y "%" como host?

En DirectAdmin, cuando configuras los permisos, a veces verás la opción de elegir el host. "localhost" significa que el usuario solo podrá conectarse desde el mismo servidor donde está alojada la base de datos. "%" permite conexiones desde cualquier host. Para aplicaciones web alojadas en el mismo servidor, usa "localhost".

¿Puedo cambiar el nombre de un usuario MySQL?

No, DirectAdmin no permite cambiar el nombre de un usuario MySQL existente. Tendrías que crear uno nuevo con el nombre deseado, asignarle los permisos y eliminar el antiguo.

¿Cómo elimino un usuario de la base de datos?

En la página de gestión de la base de datos, localiza al usuario y haz clic en el icono de la papelera. DirectAdmin te pedirá confirmación antes de eliminar.


Conclusión

Crear usuarios de base de datos y asignar permisos en DirectAdmin es un proceso sencillo pero de vital importancia para la seguridad de tu sitio web.

Recuerda siempre el principio del mínimo privilegio: otorga solo los permisos que la aplicación necesita para funcionar. Esto no solo protege tus datos de ataques externos, sino también de errores accidentales de programación.

Si tienes más dudas, no dudes en consultar la documentación oficial de DirectAdmin o abrir un ticket con tu proveedor de hosting. Ellos podrán ayudarte con configuraciones más avanzadas si lo necesitas.

[INFO] Si estás acostumbrado a usar "Syspanel" (el antiguo HestiaCP) para gestionar tus bases de datos, recuerda que el proceso es similar aunque la interfaz cambia. En Syspanel, el acceso se realiza a través del puerto 2106 y las opciones de MySQL se encuentran en la pestaña "Databases". Los conceptos de usuarios y privilegios son los mismos que hemos visto aquí.

¡Espero que esta guía te haya sido de ayuda! Ahora ya puedes gestionar tus usuarios MySQL como todo un profesional.

¿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