¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
Cómo Crear, Gestionar y Administrar Usuarios en MySQL Paso a Paso (Guía Completa 2025)

Cómo Crear, Gestionar y Administrar Usuarios en MySQL Paso a Paso (Guía Completa 2025)

Anuncios
Publicidad

La administración de usuarios en MySQL es una de las tareas más importantes para cualquier administrador de bases de datos, desarrollador backend o estudiante de informática que necesite controlar el acceso, permisos y seguridad de su servidor. A lo largo de esta guía, aprenderás paso a paso cómo crear un usuario en MySQL, cómo asignarle permisos, cómo comprobar su configuración y cómo eliminarlo cuando sea necesario.

Además, te explicaré de forma detallada cada bloque de código SQL que has visto anteriormente, por qué se utiliza, qué función cumple y cómo aplicarlo en entornos reales de trabajo.

Si estás estudiando administración de sistemas, bases de datos, ciberseguridad o simplemente quieres dominar la gestión de usuarios en MySQL, esta guía definitiva está diseñada para ti.

1. Introducción a la gestión de usuarios en MySQL

MySQL es uno de los motores de bases de datos más populares del mundo. Empresas de gran tamaño y proyectos personales confían en él para almacenar datos sensibles y manejar aplicaciones web de alto rendimiento.

Por este motivo, la gestión correcta de usuarios, permisos y políticas de seguridad es fundamental. Crear usuarios con privilegios limitados es una práctica obligatoria para mantener tus datos seguros y evitar accesos no autorizados.

Con MySQL podemos controlar:

  • Desde qué equipos se conecta un usuario.
  • Qué operaciones puede realizar (SELECT, INSERT, UPDATE, DELETE…).
  • Cuántas conexiones simultáneas tiene permitidas.
  • Cuántas actualizaciones por hora puede ejecutar.
  • Cada cuánto tiempo expira su contraseña.
  • Si su cuenta está bloqueada o activa.

Todo ello nos ayuda a tener un entorno seguro, eficiente y libre de riesgos.

2. Comprobar si un usuario ya existe en MySQL

Antes de crear un usuario nuevo, es habitual revisar si ya existe algún usuario con el mismo nombre. Para ello, MySQL almacena todos los usuarios en la tabla interna mysql.user.

El comando más utilizado es:

select user from mysql.user;

Este listado proporciona todos los usuarios registrados en el servidor. Si necesitas saber desde qué host se conectan, puedes ampliar la consulta:

select user, host from mysql.user;

Si el usuario ya existe, lo más recomendable es eliminarlo antes de crearlo de nuevo, especialmente en entornos de prácticas o cuando se desea crear un usuario desde cero con nuevos parámetros.

3. Eliminar un usuario existente en MySQL

Para borrar un usuario, utilizamos el comando:

drop user 'administrador'@'%';

El símbolo % indica que el usuario puede conectarse desde cualquier host.

Eliminar un usuario es una operación limpia que borra completamente su configuración específica (permisos, plugins de autenticación, políticas de expiración, conexiones máximas, etc.).

4. Crear un usuario en MySQL con contraseña y autenticación nativa

El siguiente paso es crear un usuario, pero no solo con una contraseña, sino también con un método de autenticación específico, políticas de expiración y limitaciones de uso.

Ejemplo:

create user 'administrador'@'%' identified with 'mysql_native_password' 
by 'A2123'
with max_updates_per_hour 15
max_user_connections 2
password expire interval 9 day;

Desglosemos cada elemento:

4.1. 'administrador'@'%'

Define el usuario y el host desde el que puede conectarse.
% significa acceso global, aunque en producción es recomendable restringirlo.

4.2. identified with 'mysql_native_password'

Especifica el plugin de autenticación.
mysql_native_password es uno de los más tradicionales y ampliamente soportados.

4.3. by 'A2123'

Esta es la contraseña asignada al usuario.

4.4. with max_updates_per_hour 15

Limita la cantidad de operaciones de actualización (UPDATE) a 15 por hora.
Ideal para usuarios restringidos o en prácticas.

4.5. max_user_connections 2

Limita el número de conexiones simultáneas a 2.
Esto evita abusos o sobrecargas del sistema.

4.6. password expire interval 9 day

Indica que la contraseña caduca cada 9 días, obligando al usuario a renovarla.

5. Ver la configuración exacta del usuario creado

Después de crear un usuario, es útil ver qué ajustes se han aplicado realmente.
MySQL permite mostrar la configuración con:

show create user 'administrador'@'%';
Cómo Crear, Gestionar y Administrar Usuarios en MySQL Paso a Paso (Guía Completa 2025)
Cómo Crear, Gestionar y Administrar Usuarios en MySQL Paso a Paso (Guía Completa 2025)

Y, si queremos consultar los valores directamente desde la tabla interna:

select user, host, plugin, account_locked, max_user_connections, password_expired 
from mysql.user
where user = 'administrador' and host = '%';

Aquí podemos verificar:

  • Qué plugin está usando.
  • Si su cuenta está bloqueada.
  • Cuántas conexiones simultáneas permite.
  • Si su contraseña ha expirado.

6. Crear una base de datos y asignarla al usuario

Una vez creado el usuario, normalmente se le asigna una base de datos determinada.


Primero la creamos:

create database baseAdministrador;

Luego la seleccionamos:

USE baseAdministrador;

7. Conceder permisos esenciales a un usuario

Para dar permisos de lectura, inserción, modificación y borrado, usamos:

grant 
select,
insert,
update,
delete
on baseAdministrador.*
to 'administrador'@'%';

Desglose:

  • select → Permite leer datos.
  • insert → Permite añadir registros.
  • update → Permite modificar registros existentes.
  • delete → Permite borrar registros.

Estos son permisos básicos para cualquier usuario que necesite manejar datos directamente.

Después aplicamos los cambios:

FLUSH PRIVILEGES;

Este comando obliga al servidor a recargar la información actualizada de permisos.

8. Ver los permisos asignados

Para comprobar los privilegios exactos:

SHOW GRANTS FOR 'administrador'@'%';

Aquí aparecerán todas las líneas GRANT asociadas a este usuario.

9. Revocar permisos: quitarle INSERT al usuario

Si en algún momento decidimos que el usuario no debe seguir insertando datos, podemos retirarle este permiso:

revoke
insert
on baseAdministrador.*
from 'administrador'@'%';

Volvemos a aplicar los cambios:

flush privileges;

Y verificamos:

SHOW GRANTS FOR 'administrador'@'%';

10. Eliminar el usuario cuando ya no es necesario

Cuando el usuario ya no necesita acceder al sistema, lo eliminamos:

drop user 'administrador'@'%';

Esto borra por completo:

  • Su contraseña
  • Sus permisos
  • Sus plugins de autenticación
  • Sus políticas de expiración

Dominar la administración de usuarios en MySQL

Gestionar usuarios en MySQL es una tarea esencial para cualquier administrador de bases de datos, docente, estudiante o profesional de IT. Crear usuarios con parámetros personalizados, asignarles permisos específicos y controlar su actividad es clave para mantener un entorno seguro, ordenado y eficiente.

A lo largo de esta guía completa has aprendido a:

  • Ver si un usuario existe.
  • Eliminar usuarios anteriores.
  • Crear un usuario con autenticación, límites de uso y política de contraseñas.
  • Crear una base de datos y asignarle permisos.
  • Revocar privilegios cuando sea necesario.
  • Ver exactamente qué permisos están asignados.
  • Borrar el usuario de forma definitiva.

Esta metodología no solo es altamente profesional, sino que se utiliza en empresas reales, academias de formación y entornos de seguridad.

FAQ sobre la creación de usuarios en MySQL (Actualizado 2025)

1. ¿Qué es el plugin mysql_native_password?

Es un método de autenticación tradicional que MySQL usa desde hace años. Es compatible con la mayoría de aplicaciones y servidores.

2. ¿Por qué limitar las conexiones del usuario?

Para evitar que un usuario sature el servidor o genere demasiadas sesiones simultáneas. Es una medida de rendimiento y seguridad.

3. ¿Para qué sirve FLUSH PRIVILEGES?

Para recargar la tabla interna de permisos. Si no se ejecuta, a veces los cambios no surten efecto de inmediato.

4. ¿Puedo limitar el acceso por IP en lugar de %?

Sí. En producción es lo recomendado, por ejemplo:
'administrador'@'192.168.1.50'.

5. ¿Qué pasa si revoco todos los permisos de un usuario?

El usuario seguirá existiendo, pero no podrá hacer nada dentro de MySQL, salvo que se le asignen nuevos permisos.

Te puede interesar:

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
error: Content is protected !!
Scroll al inicio
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.