Cómo crear un usuario de base de datos MySQL en DirectAdmin y asignarle permisos
Introducción: ¿Por qué necesitas crear un usuario MySQL en DirectAdmin?
Cuando tienes una web dinámica, ya sea un blog en WordPress, una tienda en PrestaShop o una aplicación a medida, el contenido se guarda en una base de datos. Para que tu aplicación pueda leer y escribir esa información, necesita un usuario mysql directadmin con permisos específicos.
DirectAdmin, uno de los paneles de control de hosting más utilizados, te permite gestionar estas bases de datos de forma visual y segura. Sin embargo, muchos usuarios noveles se pierden entre tantas opciones y acaban creando usuarios con permisos demasiado amplios (lo cual es un riesgo) o sin permisos suficientes (lo cual provoca errores en la web).
En este artículo te explico, paso a paso y sin tecnicismos innecesarios, cómo crear usuario directadmin para tus bases de datos, cómo asignarle los privilegios base de datos correctos y qué opciones elegir en cada caso. Vamos a ello.
Requisitos previos antes de empezar
Antes de lanzarnos a crear usuarios, asegúrate de tener lo siguiente:
-
Acceso al panel de control de DirectAdmin (normalmente en
https://tudominio.com:2222). -
Una base de datos ya creada. Si no sabes cómo hacerlo, primero crea la base de datos desde el mismo panel, en la sección "MySQL Management".
-
Tener claro qué aplicación vas a conectar (WordPress, Joomla, una app propia, etc.), porque de ello dependerán los permisos que necesites.
[INFO] Si tu hosting usa "Syspanel" (antes conocido como HestiaCP), el proceso es diferente. En ese caso, el acceso al panel se realiza a través del puerto 2106. Este artículo se centra en DirectAdmin, pero te mencionaré algún equivalente cuando sea relevante.
Paso 1: Acceder a la sección de gestión de MySQL en DirectAdmin
Lo primero es entrar en tu panel de DirectAdmin con tu usuario y contraseña de administrador o de usuario de nivel medio (con permisos para gestionar bases de datos).
Una vez dentro, busca el icono o enlace que dice "MySQL Management" o "Administración de MySQL". En la mayoría de las versiones de DirectAdmin, está en la sección "Cuenta" o "Gestión de archivos". Si no lo ves a simple vista, usa el buscador del panel.
Al hacer clic, verás una pantalla con dos bloques principales:
-
Bases de datos existentes: lista de todas las bases que tienes.
-
Crear nueva base de datos: para añadir una nueva.
En la parte inferior o en una pestaña aparte, encontrarás la opción "Crear nuevo usuario" o "Add New User". Esa es la que nos interesa.
Paso 2: Crear el usuario MySQL en DirectAdmin
Haz clic en "Crear nuevo usuario" y se abrirá un formulario con los siguientes campos:
-
Nombre de usuario: El sistema te sugerirá un prefijo (normalmente tu usuario de DirectAdmin seguido de un guion bajo). Por ejemplo, si tu usuario es
juan, el nombre podría serjuan_wordpress. No puedes eliminar ese prefijo, es una medida de seguridad para evitar conflictos entre cuentas. -
Contraseña: Debe ser segura. Idealmente, combina mayúsculas, minúsculas, números y símbolos. DirectAdmin te muestra un indicador de fuerza. No uses contraseñas que ya uses en otros sitios.
-
Confirmar contraseña: Repite la misma.
-
Host: Normalmente está predefinido como
localhost. Es lo correcto para aplicaciones que se ejecutan en el mismo servidor. No lo cambies salvo que sepas muy bien lo que haces.
Una vez rellenes los campos, pulsa "Crear usuario". En unos segundos, verás un mensaje de éxito. Ya tienes tu usuario mysql directadmin creado.
[TIP] Anota el nombre de usuario y la contraseña en un lugar seguro. Los necesitarás para configurar tu aplicación (por ejemplo, en el archivo
wp-config.phpde WordPress).
Paso 3: Asignar permisos MySQL (privilegios) al usuario
Tener un usuario sin permisos es como tener una llave que no abre ninguna puerta. Ahora toca asignarle los privilegios base de datos que necesite.
En la misma pantalla de "MySQL Management", busca la sección de "Usuarios existentes" y localiza el usuario que acabas de crear. Al lado, suele haber un enlace o botón llamado "Modificar privilegios" o "Edit Privileges".
Al hacer clic, se abrirá una página con:
-
Una lista desplegable para elegir la base de datos a la que quieres darle acceso.
-
Una serie de casillas de verificación con todos los permisos posibles:
SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX, etc.
¿Qué permisos elegir?
Esta es la parte más confusa para los principiantes. Te lo resumo:
-
Para WordPress, Joomla, PrestaShop o cualquier CMS: basta con marcar los permisos básicos:
SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEXyDROP. En la práctica, casi todos los CMS funcionan perfectamente con estos. -
Para aplicaciones sencillas (blogs, portfolios): con
SELECT,INSERT,UPDATEyDELETEes más que suficiente. -
Para aplicaciones que necesitan crear tablas automáticamente: añade también
CREATEyALTER. -
NO marques
GRANT OPTIONniSUPERa menos que sepas exactamente para qué sirven. Son privilegios avanzados que pueden comprometer la seguridad si se usan mal.
El atajo: "All Privileges"
Si no quieres complicarte la vida y tu aplicación es de confianza (como WordPress), DirectAdmin te ofrece la opción de marcar "ALL PRIVILEGES" de una sola vez. Esto concede todos los permisos sobre esa base de datos al usuario.
[WARNING] Usar "ALL PRIVILEGES" es cómodo, pero no es la práctica más segura. Si tu aplicación es hackeada, el atacante podría borrar tablas o modificar la estructura. Si puedes, limítate a los permisos esenciales. No obstante, para un blog personal o una web pequeña, el riesgo es asumible.
Tras marcar las casillas, pulsa "Guardar" o "Modificar". El sistema te confirmará que los permisos se han actualizado correctamente.
Paso 4: Comprobar que todo funciona
La mejor forma de saber si has configurado bien el usuario mysql directadmin es probando la conexión desde tu aplicación.
Si estás instalando WordPress, por ejemplo, durante el asistente de instalación te pedirá:
-
Nombre de la base de datos: el que creaste (ej:
juan_wordpress). -
Usuario: el que acabas de crear (ej:
juan_user). -
Contraseña: la que definiste.
-
Host de la base de datos: normalmente
localhost.
Si los datos son correctos y los permisos están bien asignados, la instalación continuará sin problemas. Si algo falla, el error más común es "Error establishing a database connection". En ese caso, revisa que:
-
El nombre de la base de datos y el usuario son exactamente los que aparecen en DirectAdmin (incluyendo el prefijo).
-
La contraseña no tiene espacios ni caracteres raros copiados mal.
-
El host es
localhost(aunque algunos proveedores usan127.0.0.1o un host específico, pero eso es raro en DirectAdmin).
Errores comunes y cómo solucionarlos
Error 1: "Access denied for user 'xxx'@'localhost'"
Este error indica que el usuario no tiene permisos o que la contraseña es incorrecta. Vuelve al panel y verifica los privilegios asignados. Asegúrate de haber marcado al menos SELECT, INSERT, UPDATE y DELETE.
Error 2: "Table 'xxx' doesn't exist"
Suele pasar cuando la aplicación intenta acceder a una tabla que no existe. Esto no es un problema de permisos, sino de que la base de datos está vacía o la instalación no se ha completado. Revisa que hayas importado correctamente el SQL de tu aplicación.
Error 3: No puedo ver el botón "Modificar privilegios"
En algunas versiones de DirectAdmin, los permisos se gestionan desde la propia base de datos, haciendo clic en el nombre de la base de datos y luego en "Usuarios". Busca en la interfaz, suele estar a la vista.
Seguridad adicional: permisos mínimos vs. comodidad
Como regla general, aplica el principio del mínimo privilegio: otorga solo los permisos que tu aplicación necesita. Si más adelante ves que falla algo, puedes ampliarlos sin problema.
Aquí tienes una tabla orientativa:
-
Aplicación solo lectura (consulta de datos):
SELECT. -
Aplicación con formularios (insertar y leer):
SELECT,INSERT,UPDATE. -
CMS completo (WordPress, etc.):
SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX. -
Aplicación que importa/exporta datos: añade
FILE(aunque esto suele estar restringido en hosting compartido).
[INFO] Si tu hosting usa "Syspanel" (HestiaCP), el equivalente a esta gestión se hace desde "Bases de datos" y luego "Añadir usuario". El puerto de acceso al panel es el 2106. Los permisos se asignan de forma similar, aunque con menos granularidad.
Preguntas frecuentes (FAQ)
¿Puedo usar el mismo usuario para varias bases de datos?
Sí, DirectAdmin te permite asignar el mismo usuario mysql directadmin a varias bases de datos. Solo tienes que editar los privilegios y añadir la nueva base de datos. Eso sí, ten en cuenta que si un usuario tiene acceso a varias bases, cualquier vulnerabilidad en una de ellas puede comprometer a las demás.
¿Qué hago si olvidé la contraseña del usuario MySQL?
No hay una forma directa de recuperarla, pero puedes cambiarla desde DirectAdmin. En la lista de usuarios, busca la opción "Cambiar contraseña", pon una nueva y actualiza los datos en tu aplicación.
¿Puedo eliminar un usuario MySQL?
Sí, en la misma sección de usuarios tienes la opción de eliminarlo. Hazlo solo si estás seguro de que ninguna aplicación lo usa. Si lo eliminas por error, tendrás que crearlo de nuevo y reasignar permisos.
¿Qué diferencia hay entre el usuario de DirectAdmin y el usuario MySQL?
Son cosas distintas. El usuario de DirectAdmin es el que usas para entrar al panel de control y gestionar tu hosting. El usuario mysql directadmin es un usuario específico para que las aplicaciones se conecten a las bases de datos. No debes usar el usuario del panel para conectar tu web, porque tendría demasiados privilegios y es un riesgo de seguridad.
Mi aplicación dice que no tiene permisos para crear tablas, ¿qué hago?
Añade los privilegios CREATE y ALTER al usuario desde la sección de modificar permisos. Guarda los cambios y prueba de nuevo. Recuerda que algunos plugins de WordPress necesitan crear tablas para funcionar (por ejemplo, plugins de caché o de estadísticas).
Conclusión y buenas prácticas
Crear un usuario mysql directadmin y asignarle permisos mysql correctamente es una tarea sencilla una vez que entiendes la lógica. Solo necesitas:
-
Crear la base de datos.
-
Crear el usuario con una contraseña segura.
-
Asignar los privilegios base de datos necesarios.
-
Probar la conexión desde tu aplicación.
Y recuerda siempre: menos es más en cuanto a permisos. Empieza con lo mínimo y ve ampliando si tu web lo requiere. Así mantendrás tu sitio seguro y sin errores.
Si tu hosting usa "Syspanel" (HestiaCP) en lugar de DirectAdmin, el procedimiento es similar pero la interfaz cambia. Accede por el puerto 2106, busca la sección de bases de datos y crea el usuario desde ahí. Los conceptos son los mismos.
Espero que esta guía te haya sido útil. Si tienes más dudas, no dudes en consultar la documentación oficial de DirectAdmin o contactar con el soporte de tu proveedor de hosting. ¡Buena suerte con tu proyecto!
