Curso de MySQL
Configurar contraseñas y permisos en MySQL Workbench
Por Víctor Peña · Publicado el

Hola, ¿cómo están? Continuando con el curso de MySQL, hoy hacemos la administración de usuarios desde MySQL Workbench, que es la herramienta oficial y la que vamos a usar durante el resto del curso.
¡Empecemos!
Dónde está el panel de administración
Con la conexión abierta, en el panel izquierdo verás la sección Administration. Dentro está Users and Privileges.
Al entrar aparece la lista de cuentas existentes. En una instalación nueva verás root y algunas cuentas internas de MySQL —mysql.session, mysql.sys— que no debes tocar: las usa el propio motor.
Cambiar la contraseña de root
- Selecciona
rooten la lista. - En la pestaña Login, pulsa el botón junto a Password.
- Escribe la nueva contraseña y confírmala.
- Pulsa Apply.
Después de esto, la conexión guardada en Workbench seguirá intentando entrar con la anterior. Para actualizarla:
Database → Manage Connections, selecciona tu conexión, borra la contraseña almacenada y guarda. La próxima vez te la pedirá.
Crear un usuario para la aplicación
- En Users and Privileges, pulsa Add Account.
- En la pestaña Login:
- Login Name:
app_tienda - Authentication Type: déjalo en el valor por defecto.
- Limit to Hosts Matching: escribe
localhost. - Password y Confirm Password: una clave larga y aleatoria.
- Login Name:
- Pulsa Apply.
Sobre el campo de host: si escribes %, el usuario podrá conectarse desde cualquier equipo de la red o de internet. Usa localhost salvo que tengas una necesidad concreta.
Asignar permisos por esquema
Aquí está la parte importante, y donde Workbench se explica mejor que phpMyAdmin.
- Con el usuario seleccionado, ve a la pestaña Schema Privileges.
- Pulsa Add Entry.
- Elige Selected schema y selecciona la base de datos. Evita la opción de todos los esquemas.
- Pulsa OK.
- Ahora aparece la lista de privilegios. Marca solo:
SELECTINSERTUPDATEDELETE
- Apply.
Workbench agrupa los permisos en tres bloques, y entender la agrupación ayuda a decidir:
| Bloque | Qué contiene | Para la aplicación |
|---|---|---|
| Object Rights | SELECT, INSERT, UPDATE, DELETE, EXECUTE |
Sí, los cuatro primeros |
| DDL Rights | CREATE, ALTER, DROP, INDEX |
No |
| Other Rights | GRANT OPTION, CREATE USER |
Nunca |
Los DDL Rights modifican la estructura de la base. Tu aplicación no crea ni borra tablas mientras funciona: eso corresponde al usuario de despliegue.
Y GRANT OPTION permite que ese usuario conceda permisos a otros. Dárselo a una aplicación es entregar la administración entera.
La pestaña Administrative Roles
Workbench trae roles predefinidos, y conviene saber qué hacen antes de tocarlos:
- DBA es equivalente a
root. Todo, sobre todo. - BackupAdmin, SecurityAdmin, MonitorAdmin y similares agrupan permisos globales para tareas concretas.
Para el usuario de una aplicación web, no marques ninguno. Los roles administrativos son globales: afectan a todas las bases de datos del servidor, no solo a la tuya.
Verificar lo que quedó
Workbench tiene su propio editor SQL, y comprobar siempre es buena idea. Abre una pestaña de consulta y ejecuta:
SHOW GRANTS FOR 'app_tienda'@'localhost';
Resultado esperado:
GRANT USAGE ON *.* TO `app_tienda`@`localhost`
GRANT SELECT, INSERT, UPDATE, DELETE ON `tienda`.* TO `app_tienda`@`localhost`
Si en la primera línea aparece algo distinto de USAGE, tienes permisos globales asignados sin querer. USAGE significa «puede conectarse y nada más», que es lo correcto a nivel global.
Crear los tres usuarios del proyecto
Repitiendo el esquema de la lección de seguridad, en un proyecto real conviene tener:
| Usuario | Permisos | Para qué |
|---|---|---|
app |
SELECT, INSERT, UPDATE, DELETE | La aplicación en funcionamiento |
deploy |
Lo anterior + CREATE, ALTER, DROP, INDEX | Migraciones y despliegues |
reportes |
SELECT | Consultas y tableros |
Crearlos toma cinco minutos con Workbench, y el beneficio es que una inyección SQL en la aplicación no puede borrar tablas, porque ese usuario simplemente no tiene el permiso.
Revisar usuarios periódicamente
En sistemas con años suelen acumularse cuentas de gente que ya no está o de pruebas olvidadas. Desde el editor SQL:
SELECT user, host FROM mysql.user ORDER BY user;
Y para eliminar una:
DROP USER 'antiguo'@'localhost';
También puedes hacerlo desde la interfaz con el botón Delete, pero conviene conocer la sentencia: en un servidor remoto sin interfaz gráfica es lo único que tendrás.
Workbench o phpMyAdmin
Ahora que viste ambas:
| Workbench | phpMyAdmin | |
|---|---|---|
| Permisos con detalle | Mejor | Suficiente |
| Diseño de diagramas | Sí | No |
| Funciona sin instalar | No | Sí |
| Disponible en hostings | No | Sí |
| Bases muy grandes | Mejor | Se ralentiza |
En tu computadora, Workbench. En el panel de tu hosting, phpMyAdmin porque será lo único que haya.
Copias de seguridad desde Workbench
Aprovechando que estamos en administración: en Administration → Data Export puedes generar un respaldo con interfaz, eligiendo qué esquemas y tablas incluir.
Y en Data Import/Restore, restaurarlo.
Es cómodo para respaldos puntuales. Para los automáticos, mysqldump desde una tarea programada sigue siendo la opción, como vimos en la lección de seguridad.
Errores comunes
- Poner
%en el host sin necesitarlo. - Marcar un rol administrativo para el usuario de la aplicación.
- Conceder DDL Rights a la aplicación.
- Olvidar pulsar Apply, y creer que los cambios se guardaron.
- No actualizar la conexión guardada tras cambiar la contraseña de
root.
Para cerrar
Workbench hace visible algo que en la consola pasa desapercibido: cuántos permisos estás concediendo realmente. Ver las casillas de DDL sin marcar es una buena forma de recordar que la aplicación no necesita poder borrar tablas.
Con la seguridad resuelta, ya podemos empezar a construir. En la siguiente lección creamos nuestra primera base de datos.
Saludos y éxitos.
Norvic Software
Desarrollamos el software que tu empresa necesita
Somos una fábrica de software en Bolivia. Construimos sistemas a medida y aplicaciones móviles, y llevamos Inteligencia Artificial a las empresas que ya tienen un sistema funcionando.
- Chatbots con Inteligencia Artificial
- Creación de agentes de IA
- Integración de IA en tus sistemas
- Desarrollo de software a medida
- Aplicaciones móviles iOS y Android
- Consultoría y asesoramiento técnico
Cotización sin costo · Respuesta directa por WhatsApp