Saltar al contenido principal

Privilegios MySQL

En MySQL, los privilegios determinan qué operaciones puede realizar un usuario sobre la base de datos. Se clasifican en tres grandes categorías:


Datos (Data Privileges)

🧾 Permiten al usuario manipular directamente la información almacenada en las tablas (leer, insertar, actualizar o eliminar datos).

Privilegio¿Qué permite?Actividad a realizar
1SELECTLeer datos de una tabla.Escribe una consulta para obtener los productos cuyo precio sea mayor a 100.
2INSERTInsertar registros en una tabla.Agrega un nuevo cliente a la tabla clientes.
3UPDATEModificar registros existentes.Actualiza el correo de un usuario específico.
4DELETEEliminar registros.Borra productos cuyo stock sea 0.
5FILELeer/escribir archivos del sistema desde la base de datos.Cargar un archivo CSV desde el servidor hacia una tabla.

Estructura (Structure Privileges)

🧾 Permiten modificar la estructura de las bases de datos y sus objetos: crear, alterar o eliminar tablas, vistas, procedimientos, entre otros.

Privilegio¿Qué permite?Actividad a realizar
6CREATECrear nuevas tablas o bases de datos.Crea una tabla llamada pedidos.
7ALTERModificar la estructura de una tabla existente.Agrega una columna fecha_envio a la tabla pedidos.
8DROPEliminar estructuras como tablas.Elimina la tabla productos_obsoletos.
9INDEXCrear o eliminar índices.Crea un índice en el campo email de la tabla usuarios.
10CREATE TEMPORARY TABLESCrear tablas temporales.Crea una tabla temporal para almacenar resultados intermedios.
11SHOW VIEWConsultar vistas.Consulta y explica qué muestra la vista ventas_mensuales.
12CREATE VIEWCrear nuevas vistas.Genera una vista que muestre clientes con más de 3 compras.
13TRIGGERCrear triggers.Crea un trigger que registre cada vez que se inserte una venta.
14EVENTCrear eventos programados.Crea un evento que borre registros antiguos cada mes.
15CREATE ROUTINECrear procedimientos o funciones.Crea una rutina para aplicar un descuento a todos los productos.
16ALTER ROUTINEModificar rutinas existentes.Modifica un procedimiento para que reciba un nuevo parámetro.
17EXECUTEEjecutar funciones o procedimientos.Ejecuta una función que calcule el total de ventas por cliente.

Administración (Administration Privileges)

🧾 Otorgan capacidades de gestión del sistema de base de datos, como crear usuarios, asignar permisos, monitorear procesos o configurar replicación.

Privilegio¿Qué permite?Actividad a realizar
18GRANTAsignar privilegios a otros usuarios.Otorga permisos de lectura a un nuevo usuario.
19SUPEREjecutar operaciones administrativas avanzadas.Simula el cambio de una variable global.
20PROCESSVer los procesos activos en el servidor.Muestra procesos activos y cancela uno específico.
21RELOADRecargar tablas y privilegios desde disco.Simula la recarga de permisos tras un cambio.
22SHUTDOWNApagar el servidor MySQL.(No realizar) Solo investigar el proceso de apagado.
23SHOW DATABASESVer todas las bases de datos disponibles.Lista las bases accesibles para el usuario actual.
24LOCK TABLESBloquear tablas para uso exclusivo.Bloquea una tabla, realiza una operación y desbloquéala.
25REFERENCESUsar claves foráneas.Crea una relación entre clientes y pedidos.
26REPLICATION CLIENTConsultar el estado de la replicación.Consulta el estado del binlog de replicación.
27REPLICATION SLAVEActuar como esclavo en replicación.Investiga cómo configurar una base esclava.
28CREATE USERCrear nuevos usuarios de base de datos.Crea un usuario con permisos de solo lectura.

Actividad

Si llegaron hasta aquí felicitaciones, Esta actividad no es calificable, pero el conocimiento que van a adquirir si la desarrollan será monumental.
Verás cómo controlar con precisión qué puede hacer cada usuario en tu base de datos... como un verdadero administrador experto.

Objetivo

Comprender el significado, uso y aplicación de los distintos privilegios en MySQL clasificados en:

  • 📂 Datos
  • 🏗️ Estructura
  • ⚙️ Administración

A través de esta actividad, los participantes explorarán qué permite cada privilegio y construirán ejemplos funcionales que demuestren su uso dentro de un contexto práctico de base de datos.


Instrucciones

  1. Investigación: Por cada privilegio listado, realiza una breve explicación en tus propias palabras (máximo 2 líneas) sobre qué permite y por qué sería útil en un sistema real.

  2. Aplicación: Crea un ejemplo práctico en Markdown (.md) para cada uno de los privilegios. Este ejemplo debe incluir:

    • Una tabla de contexto (real o simulada).
    • Un pequeño bloque de código SQL demostrando el uso del privilegio.
    • Una breve descripción del objetivo de ese código.