Usuarios y privilegios MySQL
Cuentas de usuario ALTAS: CREATE USER IDENTIFIED BY ‘contrasena’; Si no se pone ningún host, interpreta que es %, es decir, desde cualquier IP Relectura de propiedades FLUSH PRIVILEGES; Borrado de usuarios DROP USER
Modificación de usuarios Cambio de host de acceso UPDATE mysql.user SET host=‘ip_del_host’ WHERE user=‘nombreusuario’; Cambio de nombre de usuario RENAME USER TO Cambio de contraseña SET PASSWORD FOR = PASSWORD(‘nueva_pass’); UPDATE mysql.user SET PASSWORD = PASSWORD(‘nuevapw’) WHERE user=‘usuario’ AND host=‘host’; SET PASSWORD=PASSWORD(‘nuevapw’); Permite a un usuario cambiarse su contraseña
Privilegios A nivel de host Permitimos/denegamos la conexión mediante las órdenes de usuario A nivel de base de datos A nivel de tabla A nivel de columna Pueden ser de SELECT, INSERT, DELETE, UPDATE, …
Concesión de privilegios Concesión GRANT privilegio (campos) ON nivel TO user; GRANT SELECT (nombre,sueldo) ON nomina.empleados TO Permite que el usuario chema pueda visualizar los campos nombre y sueldo de la tabla empleados de la base de datos nomina Se admiten * en el nivel. Por ejemplo: *.* se refiere a todas las tablas de todos los esquemas, nomina.* se refiere a todas las tablas del esquema nomina, … GRANT ALL ON joines.vista1 TO Concede todos los permisos a chema en la vista1
Revocación de privilegios REVOKE privilegio (campos) ON nivel FROM user; REVOKE INSERT (sueldo) ON nomina.empleados FROM Impide que el usuario chema inserte sueldos en la tabla empleados de la base de datos nomina Se admiten * en el nivel como en GRANT REVOKE SELECT ON joines.amos FROM Impide hacer SELECT en la tabla amos a chema
Visualizacion de privilegios Se pueden ver los privilegios asignados mediante la orden: SHOW GRANTS FOR SHOW GRANTS FOR