Los privilegios MySQL controlan exactamente lo que un usuario puede y no puede hacer dentro de una base de datos. El Panel MySQL de Nobregas ofrece 18 privilegios individuales más el atajo ALL PRIVILEGES. Entender cada uno te ayuda a otorgar el nivel correcto de acceso para cada caso de uso.
Tabla de Referencia de Privilegios
| Privilegio | Categoría | Descripción |
|---|---|---|
| SELECT | Datos | Leer filas de tablas |
| INSERT | Datos | Añadir nuevas filas a tablas |
| UPDATE | Datos | Modificar valores en filas existentes |
| DELETE | Datos | Eliminar filas de tablas |
| CREATE | Estructura | Crear nuevas tablas |
| ALTER | Estructura | Cambiar estructura de tablas (columnas, tipos) |
| DROP | Estructura | Eliminar tablas y vistas |
| INDEX | Estructura | Crear y eliminar índices |
| REFERENCES | Estructura | Crear restricciones de clave foránea |
| CREATE TEMPORARY TABLES | Admin | Crear tablas temporales de sesión |
| LOCK TABLES | Admin | Bloquear tablas para acceso exclusivo |
| CREATE VIEW | Admin | Crear tablas virtuales (vistas) |
| SHOW VIEW | Admin | Ver la definición SQL de vistas |
| CREATE ROUTINE | Admin | Crear procedimientos almacenados y funciones |
| ALTER ROUTINE | Admin | Modificar o eliminar procedimientos almacenados |
| EXECUTE | Admin | Ejecutar procedimientos almacenados y funciones |
| EVENT | Admin | Crear y gestionar eventos programados |
| TRIGGER | Admin | Crear y gestionar triggers de tablas |
Privilegios de Datos — Explicación Detallada
SELECT
Permite al usuario leer datos usando consultas SELECT. Este es el privilegio más fundamental. Sin él, el usuario no puede recuperar ninguna información de las tablas. Requerido para cualquier tipo de reporte, visualización o recuperación de datos.
INSERT
Permite al usuario añadir nuevas filas con sentencias INSERT. Necesario para envíos de formularios, registros de usuarios, logging y cualquier operación que cree nuevos registros.
UPDATE
Permite al usuario modificar filas existentes con sentencias UPDATE. Necesario para editar perfiles, cambiar configuraciones, actualizar conteos de inventario y operaciones similares.
DELETE
Permite al usuario eliminar filas con sentencias DELETE. Necesario para eliminar registros, limpiar datos antiguos y gestionar contenido.
Privilegios de Estructura — Explicación Detallada
CREATE
Permite crear nuevas tablas usando CREATE TABLE. La mayoría de las aplicaciones solo necesitan esto durante la configuración inicial o al ejecutar migraciones.
ALTER
Permite modificar la estructura de tablas con ALTER TABLE — añadir, renombrar o eliminar columnas, cambiar tipos de datos y modificar índices. Esencial durante migraciones pero raramente necesario en producción.
DROP
Permite eliminar tablas y vistas con DROP TABLE o DROP VIEW. Este es un privilegio destructivo — un usuario con DROP puede eliminar permanentemente una tabla completa y todos sus datos.
INDEX
Permite crear y eliminar índices en tablas. Los índices aceleran las consultas pero pueden ralentizar las escrituras. Normalmente solo necesario para administradores de base de datos o herramientas de migración.
REFERENCES
Permite crear restricciones de clave foránea entre tablas. Solo relevante para bases de datos que usan integridad relacional con definiciones FOREIGN KEY.
Privilegios de Administración — Explicación Detallada
CREATE TEMPORARY TABLES
Permite crear tablas temporales que solo existen para la sesión actual de la base de datos. Útil para consultas complejas que necesitan almacenamiento intermedio de resultados.
LOCK TABLES
Permite bloquear explícitamente tablas con LOCK TABLES. Necesario para operaciones que requieren acceso exclusivo para prevenir modificaciones concurrentes.
CREATE VIEW
Permite crear vistas — tablas virtuales definidas por una consulta SQL. Las vistas simplifican consultas complejas y pueden restringir columnas visibles.
SHOW VIEW
Permite ver la sentencia CREATE VIEW detrás de una vista existente. Necesario para depuración o inspección de definiciones de vistas.
CREATE ROUTINE
Permite crear procedimientos almacenados y funciones. Estos son programas SQL reutilizables almacenados dentro de la base de datos.
ALTER ROUTINE
Permite modificar o eliminar procedimientos almacenados y funciones existentes.
EXECUTE
Permite ejecutar procedimientos almacenados y funciones con sentencias CALL. Un usuario puede necesitar EXECUTE sin CREATE ROUTINE si solo necesita ejecutar procedimientos creados por otros.
EVENT
Permite crear, modificar y eliminar eventos programados — el programador de tareas integrado de MySQL para ejecutar SQL en intervalos especificados.
TRIGGER
Permite crear y eliminar triggers — acciones SQL automáticas que se ejecutan cuando se insertan, actualizan o eliminan filas en una tabla.
ALL PRIVILEGES
Marcar ALL PRIVILEGES otorga todos los privilegios listados arriba simultáneamente. Es un atajo de conveniencia equivalente a marcar los 18 checkboxes individuales. Úsalo para usuarios de confianza que necesitan control completo sobre una base de datos.
Elegir los Privilegios Correctos
| Caso de Uso | Privilegios Recomendados |
|---|---|
| Reportes de solo lectura | SELECT |
| App web estándar | SELECT, INSERT, UPDATE, DELETE |
| App con migraciones | SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX |
| Acceso admin completo | ALL PRIVILEGES |
| Ejecutor de procedimientos almacenados | SELECT, EXECUTE |