SlideShare una empresa de Scribd logo
LUIS MENGUAL (c)
Gestión de Bases de Datos
Gestión de Usuarios
en MySQL
LUIS MENGUAL (c)
Gestión de Bases de Datos
• Crear cuentas de usuario en MySQL
• Describir los niveles de privilegios de usuarios
en Mysql (Comandos GRANT/REVOKE)
• Asignar y actualizar contraseñas de usuarios
• Presentar ejemplos prácticos
Objetivos:
Gestión de Usuarios
en MySQL
LUIS MENGUAL (c)
Gestión de Bases de Datos
Índice
1. Acceso usuarios del sistema y creación de
cuentas de usuario
2. Crear un usuario del sistema
3. Otorgar privilegios al usuario (Comando GRANT)
Nivel Global
Nivel de Base de Datos
Nivel de Tabla
Nivel de Rutina
4. Revocación de privilegios de usuario (Comando
Revoke)
5. Cambiar contraseña de cuentas de usuario
LUIS MENGUAL (c)
Gestión de Bases de Datos
Control de Acceso BD
• Nivel 1: Comprobación de la conexión
– Desde dónde se conecta el usuario
– Nombre del usuario
– Consulta a tabla “user” (host, user, password)
• Nivel 2: Comprobación de privilegios
– Por cada petición en la conexión se comprueba si hay
privilegios para efectuarla
– Consulta a tablas user, db, tables_priv, colums_priv,
procs_priv
LUIS MENGUAL (c)
Gestión de Bases de Datos
Usuarios del sistema (II)
SELECT * from mysql.user;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Usuarios del sistema (I)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Comando GRANT
Comando que permite 'conceder' privilegios a un usuario
• ALL PRIVILEGES: se conceden todos los privilegios a este usuario. Los posibles
privilegios: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,REFERENCES,
INDEX, ALTER, CREATE_TMP_TABLE, LOCK_TABLES,
CREATE_VIEW,SHOW_VIEW, CREATE_ROUTINE, ALTER_ROUTINE, EXECUTE
y GRANT.
• ON: los objetos a los que se aplican los privilegios, el formato es
base_de_datos.tabla, *.* Otros ejemplos: ventas.*, contabilidad.polizas,
• TO: el usuario al que se le conceden los privilegios, el formato es
usuario@'equipo‘. Otros ejemplos: user1@'%', sergio@'192.168.10.132‘
• IDENTIFIED BY: la contraseña se indica en esta parte y se escribe en texto
plano.
• WITH GRANT OPTION: esta última parte es opcional, e indica que el usuario en
cuestión puede a la vez otorgar privilegios a otros usuarios
• REQUIRE: Opciones de seguridad en el acceso relacionadas con SSL
GRANT ALL PRIVILEGES ON *.* TO user1@'localhost' IDENTIFIED BY ‘user1'
WITH GRANT OPTION {REQUIRE (…)};
LUIS MENGUAL (c)
Gestión de Bases de Datos
Crear un usuario (I)
GRANT all privileges on *.* to user1@'localhost' identified by 'user1' with grant option;
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Crear un usuario (II)
SELECT * from mysql.user;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Crear un usuario (III)
SELECT * from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Comando REVOKE
REVOKE priv_type [(column_list)] [, priv_type [(column_list)]]
. . .
ON [object_type] {tbl_name | * | *. * | db_name. *}
FROM user [, user] . . .
• Permite revocar los privilegios del usuario otorgados con el
comando GRANT
• La revocación se hará al mismo nivel de privilegios otorgados
con el comando GRANT
LUIS MENGUAL (c)
Gestión de Bases de Datos
Revocar privilegios (I)
REVOKE all privileges on *.* FROM user1@'localhost' identified by 'user1';
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Revocar privilegios (II)
SELECT * from mysql.user;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Revocar privilegios (III)
SELECT * from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Eliminar un usuario (I)
DROP USER user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Eliminar un usuario (II)
SELECT * from mysql.user
LUIS MENGUAL (c)
Gestión de Bases de Datos
Niveles Privilegios
• Global
• De Base de Datos
• De Tabla
• De Columna
• De Rutina
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel Global
• Los permisos globales se aplican a todas las
bases de datos de un servidor dado.
• Estos privilegios son almacenados en la
tabla “mysql.user”
• GRANT ALL ON *.* y REVOKE ALL ON *.*
otorgan y quitan sólo permisos globales.
GRANT all privileges on *.* to user1@'localhost' identified by 'user1' with grant option;
REVOKE all privileges on *.* FROM user1@'localhost' identified by 'user1';
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Base de Datos (I)
• Los permisos de base de datos se aplican a todos
los objetos en una base de datos dada
• Estos permisos se almacenan en las tablas
“mysql.db”
• GRANT ALL ON db_name.* y REVOKE ALL ON
db_name.* otorgan y quitan sólo permisos de
bases de datos.
GRANT all privileges on cdcol.* to user1@'localhost' identified by 'user1' with grant option;
REVOKE all privileges on cdcol.* FROM user1@'localhost' identified by 'user1';
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Base de Datos (II)
GRANT all privileges on cdcol.* to user1@'localhost' identified by 'user1' with grant option;
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Base de Datos (III)
SELECT * from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Base de Datos (IV)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Base de Datos (V)
REVOKE all privileges on cdcol.* FROM user1@'localhost' identified by 'user1';
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Base de Datos (VI)
SELECT * from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Tabla (I)
• Los permisos de tabla se aplican a todas las
columnas en una tabla dada
• Estos permisos se almacenan en la tabla
mysql.tables_priv
• GRANT ALL ON db_name. tbl_name y REVOKE
ALL ON db_name. tbl_name otorgan y quitan
permisos sólo de tabla.
GRANT all privileges on cdcol.cds to user1@'localhost' identified by 'user1' with grant option;
REVOKE all privileges on cdcol.cds FROM user1@'localhost' identified by 'user1';
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Tabla (II)
GRANT all privileges on cdcol.cds to user1@'localhost' identified by 'user1' with grant option;
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Tabla (III)
SELECT * from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Tabla (IV)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Tabla (V)
REVOKE all privileges on cdcol.cds FROM user1@'localhost' identified by 'user1';
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Tabla (VI)
SELECT * from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Columna (I)
• Los permisos de columna se aplican a columnas en
una tabla dada
• Estos permisos se almacenanen la tabla
“mysql.columns_priv”
• Usando REVOKE, debe especificar las mismas
columnas que se otorgaron los permisos
GRANT SELECT(titel,interpret) on cdcol.cds to user1@'localhost' identified by 'user1' with grant option;
REVOKE SELECT(titel,interpret) on cdcol.cds FROM user1@'localhost' identified by 'user1';
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Columna (II)
GRANT SELECT(titel,interpret) on cdcol.cds to user1@'localhost' identified by 'user1' with grant option;
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Columna (III)
SELECT * from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Columna (IV)
SELECT titel,interpret from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Columna (V)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Columna (VI)
REVOKE SELECT(titel,interpret) on cdcol.cds FROM user1@'localhost' identified by 'user1';
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Columna (VII)
SELECT titel,interpret from cdcol.cds;
LUIS MENGUAL (c)
Gestión de Bases de Datos
DROP SCHEMA IF EXISTS TablasFecha3;
CREATE SCHEMA TablasFecha3;
USE TablasFecha3;
create table Cliente(
Dni VARCHAR(10),
Nombre VARCHAR(10),
Apellido VARCHAR(10),
PRIMARY KEY (Dni)
)ENGINE=InnoDB;
create table Pedidos(
npedido INTEGER,
fecha DATE,
Cantidad DOUBLE,
cliente_Dni VARCHAR(10),
PRIMARY KEY (npedido),
FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni)
)ENGINE=InnoDB;
Privilegios Nivel de Rutina (I)
LUIS MENGUAL (c)
Gestión de Bases de Datos
delimiter //
CREATE PROCEDURE `tabla_fecha`( )
BEGIN
DECLARE Fecha_Actual VARCHAR(50);
SET Fecha_Actual=DATE_FORMAT(CURRENT_TIMESTAMP, '%d_%m_%Y_%H%i');
SET @t=CONCAT('Tabla_', Fecha_Actual);
SET @q=CONCAT('CREATE TABLE ',@t,' (i INT)');
PREPARE S1 FROM @q;
EXECUTE S1;
END;
//
delimiter ;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez');
INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v');
Privilegios Nivel de Rutina (II)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (III)
SHOW PROCEDURE STATUS like 'tabla_fecha';
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (V)
CALL TablasFecha3.tabla_fecha();
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (VI)
CREATE USER user1@'localhost' identified by 'user1';
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (VII)
CALL TablasFecha3.tabla_fecha();
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (VIII)
GRANT EXECUTE ON PROCEDURE TablasFecha3.tabla_fecha TO user1@'localhost';
SHOW GRANTS FOR user1@localhost;
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (IX)
CALL TablasFecha3.tabla_fecha();
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (X)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Privilegios Nivel de Rutina (XI)
LUIS MENGUAL (c)
Gestión de Bases de Datos
• SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('user11');
Sólo los usuarios tales como root con acceso de modificación para la base de datos mysql
puede cambiar la contraseña de otro usuario
• GRANT USAGE ON *.* TO 'user1'@'localhost' IDENTIFIED BY
'user12‘;
Puede usar el comando GRANT USAGE globalmente (ON *.*) para asignar una contraseña
a una cuenta sin afectar los permisos actuales de la cuenta
• UPDATE mysql.user SET Password = PASSWORD('user13') WHERE
Host = 'localhost' AND User = 'user1'; FLUSH PRIVILEGES;
Aunque generalmente es preferible asignar contraseñas usando uno de los métodos
precedentes, se puede hacer modificando la tabla mysql. user directamente:
Cambiar Contraseñas de Usuario (I)
LUIS MENGUAL (c)
Gestión de Bases de Datos
SHOW GRANTS FOR CURRENT_USER();
Cambiar Contraseñas de Usuario (II)
LUIS MENGUAL (c)
Gestión de Bases de Datos
SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('user11')
Cambiar Contraseñas de Usuario (III)
LUIS MENGUAL (c)
Gestión de Bases de Datos
GRANT USAGE ON *.* TO 'user1'@'localhost' IDENTIFIED BY 'user12';
Cambiar Contraseñas de Usuario (IV)
LUIS MENGUAL (c)
Gestión de Bases de Datos
UPDATE mysql.user SET Password = PASSWORD('user13') WHERE Host = 'localhost' AND User = 'user1';
FLUSH PRIVILEGES;
Cambiar Contraseñas de Usuario (V)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Resetear Contraseña Root MySQL (I)
SET PASSWORD FOR 'root'@'%' = PASSWORD('root');
Arrancar el servidor con:
mysqld --skip-grant-tables
Entro como root sin password
mysql -u root
Cambio la password
UPDATE mysql.user SET Password=PASSWORD(‘root2') WHERE User='root';
actualizar los privilegios
FLUSH PRIVILEGES;
LUIS MENGUAL (c)
Gestión de Bases de Datos
SET PASSWORD FOR 'root'@'%' = PASSWORD('root');
Resetear Contraseña Root MySQL (II)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Resetear Contraseña Root MySQL (III)
LUIS MENGUAL (c)
Gestión de Bases de Datos
Resetear Contraseña Root MySQL (IV)

Más contenido relacionado

Similar a GBD_GESTION_USUARIOS.pdf

Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
Luis Gonzales
 
Sql4
Sql4Sql4
Ejercicio privilegios
Ejercicio privilegiosEjercicio privilegios
Ejercicio privilegios
María Luisa Velasco
 
Clase2
Clase2Clase2
INFOSAN Delphi 453-602
INFOSAN Delphi  453-602INFOSAN Delphi  453-602
INFOSAN Delphi 453-602
FRANCIACOCO
 
Taller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcTaller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffc
jinkalel kalel
 
Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008
wilder sanchez
 
SQLite3
SQLite3SQLite3
Seguridad tsql sql server 2008
Seguridad tsql sql server 2008Seguridad tsql sql server 2008
Seguridad tsql sql server 2008
Vladimir Cotaquispe Gutierrez
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
Emanuel Calvo
 
USUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datosUSUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datos
NelsonMamaniRamos
 
Mysql
MysqlMysql
MANUAL
MANUALMANUAL
MANUAL
EMRA197344
 
Manual basico de_oracle
Manual basico de_oracleManual basico de_oracle
Manual basico de_oracle
elena
 
Gestion de datos[1].pdf
Gestion de datos[1].pdfGestion de datos[1].pdf
Gestion de datos[1].pdf
MARIAQUIROS19
 
Privilegios y funciones en MySQL
Privilegios y funciones en MySQLPrivilegios y funciones en MySQL
Privilegios y funciones en MySQL
フ乇丂ひ丂
 
04 Primeros pasos con my sql
04 Primeros pasos con my sql04 Primeros pasos con my sql
04 Primeros pasos con my sql
toniserna
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
Byron Quisquinay
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDB
liras loca
 
Curso sql server_administracion
Curso sql server_administracionCurso sql server_administracion
Curso sql server_administracion
Salvador Ramos
 

Similar a GBD_GESTION_USUARIOS.pdf (20)

Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Sql4
Sql4Sql4
Sql4
 
Ejercicio privilegios
Ejercicio privilegiosEjercicio privilegios
Ejercicio privilegios
 
Clase2
Clase2Clase2
Clase2
 
INFOSAN Delphi 453-602
INFOSAN Delphi  453-602INFOSAN Delphi  453-602
INFOSAN Delphi 453-602
 
Taller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffcTaller oracle ccfcffcfcfcfcfcffc
Taller oracle ccfcffcfcfcfcfcffc
 
Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008Taller oracle seguridad backup recovery 22092008
Taller oracle seguridad backup recovery 22092008
 
SQLite3
SQLite3SQLite3
SQLite3
 
Seguridad tsql sql server 2008
Seguridad tsql sql server 2008Seguridad tsql sql server 2008
Seguridad tsql sql server 2008
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
USUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datosUSUARIOS profile en oracle base de datos
USUARIOS profile en oracle base de datos
 
Mysql
MysqlMysql
Mysql
 
MANUAL
MANUALMANUAL
MANUAL
 
Manual basico de_oracle
Manual basico de_oracleManual basico de_oracle
Manual basico de_oracle
 
Gestion de datos[1].pdf
Gestion de datos[1].pdfGestion de datos[1].pdf
Gestion de datos[1].pdf
 
Privilegios y funciones en MySQL
Privilegios y funciones en MySQLPrivilegios y funciones en MySQL
Privilegios y funciones en MySQL
 
04 Primeros pasos con my sql
04 Primeros pasos con my sql04 Primeros pasos con my sql
04 Primeros pasos con my sql
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDB
 
Curso sql server_administracion
Curso sql server_administracionCurso sql server_administracion
Curso sql server_administracion
 

Último

vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
DilmerCarranza
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
eleandroth
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
MarcoPolo545324
 
Informe fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docxInforme fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docx
mirimerlos5
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
Mayra798665
 
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
hugowagner811
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
YulEz1
 
resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
riveroarlett5b
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
christianllacchasand
 
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllllANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
eliassalascolonia43
 
Plan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdfPlan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdf
agustincarranza11
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
AaronPleitez
 
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
IrapuatoCmovamos
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
darkskills2011
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
GustavoTello19
 

Último (15)

vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
 
Informe fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docxInforme fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docx
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
 
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
 
resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
 
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllllANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
 
Plan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdfPlan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdf
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
 
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
 

GBD_GESTION_USUARIOS.pdf

  • 1. LUIS MENGUAL (c) Gestión de Bases de Datos Gestión de Usuarios en MySQL
  • 2. LUIS MENGUAL (c) Gestión de Bases de Datos • Crear cuentas de usuario en MySQL • Describir los niveles de privilegios de usuarios en Mysql (Comandos GRANT/REVOKE) • Asignar y actualizar contraseñas de usuarios • Presentar ejemplos prácticos Objetivos: Gestión de Usuarios en MySQL
  • 3. LUIS MENGUAL (c) Gestión de Bases de Datos Índice 1. Acceso usuarios del sistema y creación de cuentas de usuario 2. Crear un usuario del sistema 3. Otorgar privilegios al usuario (Comando GRANT) Nivel Global Nivel de Base de Datos Nivel de Tabla Nivel de Rutina 4. Revocación de privilegios de usuario (Comando Revoke) 5. Cambiar contraseña de cuentas de usuario
  • 4. LUIS MENGUAL (c) Gestión de Bases de Datos Control de Acceso BD • Nivel 1: Comprobación de la conexión – Desde dónde se conecta el usuario – Nombre del usuario – Consulta a tabla “user” (host, user, password) • Nivel 2: Comprobación de privilegios – Por cada petición en la conexión se comprueba si hay privilegios para efectuarla – Consulta a tablas user, db, tables_priv, colums_priv, procs_priv
  • 5. LUIS MENGUAL (c) Gestión de Bases de Datos Usuarios del sistema (II) SELECT * from mysql.user;
  • 6. LUIS MENGUAL (c) Gestión de Bases de Datos Usuarios del sistema (I)
  • 7. LUIS MENGUAL (c) Gestión de Bases de Datos Comando GRANT Comando que permite 'conceder' privilegios a un usuario • ALL PRIVILEGES: se conceden todos los privilegios a este usuario. Los posibles privilegios: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,REFERENCES, INDEX, ALTER, CREATE_TMP_TABLE, LOCK_TABLES, CREATE_VIEW,SHOW_VIEW, CREATE_ROUTINE, ALTER_ROUTINE, EXECUTE y GRANT. • ON: los objetos a los que se aplican los privilegios, el formato es base_de_datos.tabla, *.* Otros ejemplos: ventas.*, contabilidad.polizas, • TO: el usuario al que se le conceden los privilegios, el formato es usuario@'equipo‘. Otros ejemplos: user1@'%', sergio@'192.168.10.132‘ • IDENTIFIED BY: la contraseña se indica en esta parte y se escribe en texto plano. • WITH GRANT OPTION: esta última parte es opcional, e indica que el usuario en cuestión puede a la vez otorgar privilegios a otros usuarios • REQUIRE: Opciones de seguridad en el acceso relacionadas con SSL GRANT ALL PRIVILEGES ON *.* TO user1@'localhost' IDENTIFIED BY ‘user1' WITH GRANT OPTION {REQUIRE (…)};
  • 8. LUIS MENGUAL (c) Gestión de Bases de Datos Crear un usuario (I) GRANT all privileges on *.* to user1@'localhost' identified by 'user1' with grant option; SHOW GRANTS FOR user1@localhost;
  • 9. LUIS MENGUAL (c) Gestión de Bases de Datos Crear un usuario (II) SELECT * from mysql.user;
  • 10. LUIS MENGUAL (c) Gestión de Bases de Datos Crear un usuario (III) SELECT * from cdcol.cds;
  • 11. LUIS MENGUAL (c) Gestión de Bases de Datos Comando REVOKE REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] . . . ON [object_type] {tbl_name | * | *. * | db_name. *} FROM user [, user] . . . • Permite revocar los privilegios del usuario otorgados con el comando GRANT • La revocación se hará al mismo nivel de privilegios otorgados con el comando GRANT
  • 12. LUIS MENGUAL (c) Gestión de Bases de Datos Revocar privilegios (I) REVOKE all privileges on *.* FROM user1@'localhost' identified by 'user1'; SHOW GRANTS FOR user1@localhost;
  • 13. LUIS MENGUAL (c) Gestión de Bases de Datos Revocar privilegios (II) SELECT * from mysql.user;
  • 14. LUIS MENGUAL (c) Gestión de Bases de Datos Revocar privilegios (III) SELECT * from cdcol.cds;
  • 15. LUIS MENGUAL (c) Gestión de Bases de Datos Eliminar un usuario (I) DROP USER user1@localhost;
  • 16. LUIS MENGUAL (c) Gestión de Bases de Datos Eliminar un usuario (II) SELECT * from mysql.user
  • 17. LUIS MENGUAL (c) Gestión de Bases de Datos Niveles Privilegios • Global • De Base de Datos • De Tabla • De Columna • De Rutina
  • 18. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel Global • Los permisos globales se aplican a todas las bases de datos de un servidor dado. • Estos privilegios son almacenados en la tabla “mysql.user” • GRANT ALL ON *.* y REVOKE ALL ON *.* otorgan y quitan sólo permisos globales. GRANT all privileges on *.* to user1@'localhost' identified by 'user1' with grant option; REVOKE all privileges on *.* FROM user1@'localhost' identified by 'user1';
  • 19. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Base de Datos (I) • Los permisos de base de datos se aplican a todos los objetos en una base de datos dada • Estos permisos se almacenan en las tablas “mysql.db” • GRANT ALL ON db_name.* y REVOKE ALL ON db_name.* otorgan y quitan sólo permisos de bases de datos. GRANT all privileges on cdcol.* to user1@'localhost' identified by 'user1' with grant option; REVOKE all privileges on cdcol.* FROM user1@'localhost' identified by 'user1';
  • 20. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Base de Datos (II) GRANT all privileges on cdcol.* to user1@'localhost' identified by 'user1' with grant option; SHOW GRANTS FOR user1@localhost;
  • 21. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Base de Datos (III) SELECT * from cdcol.cds;
  • 22. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Base de Datos (IV)
  • 23. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Base de Datos (V) REVOKE all privileges on cdcol.* FROM user1@'localhost' identified by 'user1'; SHOW GRANTS FOR user1@localhost;
  • 24. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Base de Datos (VI) SELECT * from cdcol.cds;
  • 25. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Tabla (I) • Los permisos de tabla se aplican a todas las columnas en una tabla dada • Estos permisos se almacenan en la tabla mysql.tables_priv • GRANT ALL ON db_name. tbl_name y REVOKE ALL ON db_name. tbl_name otorgan y quitan permisos sólo de tabla. GRANT all privileges on cdcol.cds to user1@'localhost' identified by 'user1' with grant option; REVOKE all privileges on cdcol.cds FROM user1@'localhost' identified by 'user1';
  • 26. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Tabla (II) GRANT all privileges on cdcol.cds to user1@'localhost' identified by 'user1' with grant option; SHOW GRANTS FOR user1@localhost;
  • 27. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Tabla (III) SELECT * from cdcol.cds;
  • 28. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Tabla (IV)
  • 29. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Tabla (V) REVOKE all privileges on cdcol.cds FROM user1@'localhost' identified by 'user1'; SHOW GRANTS FOR user1@localhost;
  • 30. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Tabla (VI) SELECT * from cdcol.cds;
  • 31. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Columna (I) • Los permisos de columna se aplican a columnas en una tabla dada • Estos permisos se almacenanen la tabla “mysql.columns_priv” • Usando REVOKE, debe especificar las mismas columnas que se otorgaron los permisos GRANT SELECT(titel,interpret) on cdcol.cds to user1@'localhost' identified by 'user1' with grant option; REVOKE SELECT(titel,interpret) on cdcol.cds FROM user1@'localhost' identified by 'user1';
  • 32. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Columna (II) GRANT SELECT(titel,interpret) on cdcol.cds to user1@'localhost' identified by 'user1' with grant option; SHOW GRANTS FOR user1@localhost;
  • 33. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Columna (III) SELECT * from cdcol.cds;
  • 34. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Columna (IV) SELECT titel,interpret from cdcol.cds;
  • 35. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Columna (V)
  • 36. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Columna (VI) REVOKE SELECT(titel,interpret) on cdcol.cds FROM user1@'localhost' identified by 'user1'; SHOW GRANTS FOR user1@localhost;
  • 37. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Columna (VII) SELECT titel,interpret from cdcol.cds;
  • 38. LUIS MENGUAL (c) Gestión de Bases de Datos DROP SCHEMA IF EXISTS TablasFecha3; CREATE SCHEMA TablasFecha3; USE TablasFecha3; create table Cliente( Dni VARCHAR(10), Nombre VARCHAR(10), Apellido VARCHAR(10), PRIMARY KEY (Dni) )ENGINE=InnoDB; create table Pedidos( npedido INTEGER, fecha DATE, Cantidad DOUBLE, cliente_Dni VARCHAR(10), PRIMARY KEY (npedido), FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni) )ENGINE=InnoDB; Privilegios Nivel de Rutina (I)
  • 39. LUIS MENGUAL (c) Gestión de Bases de Datos delimiter // CREATE PROCEDURE `tabla_fecha`( ) BEGIN DECLARE Fecha_Actual VARCHAR(50); SET Fecha_Actual=DATE_FORMAT(CURRENT_TIMESTAMP, '%d_%m_%Y_%H%i'); SET @t=CONCAT('Tabla_', Fecha_Actual); SET @q=CONCAT('CREATE TABLE ',@t,' (i INT)'); PREPARE S1 FROM @q; EXECUTE S1; END; // delimiter ; INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez Lopez'); INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v'); Privilegios Nivel de Rutina (II)
  • 40. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (III) SHOW PROCEDURE STATUS like 'tabla_fecha';
  • 41. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (V) CALL TablasFecha3.tabla_fecha();
  • 42. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (VI) CREATE USER user1@'localhost' identified by 'user1'; SHOW GRANTS FOR user1@localhost;
  • 43. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (VII) CALL TablasFecha3.tabla_fecha();
  • 44. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (VIII) GRANT EXECUTE ON PROCEDURE TablasFecha3.tabla_fecha TO user1@'localhost'; SHOW GRANTS FOR user1@localhost;
  • 45. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (IX) CALL TablasFecha3.tabla_fecha();
  • 46. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (X)
  • 47. LUIS MENGUAL (c) Gestión de Bases de Datos Privilegios Nivel de Rutina (XI)
  • 48. LUIS MENGUAL (c) Gestión de Bases de Datos • SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('user11'); Sólo los usuarios tales como root con acceso de modificación para la base de datos mysql puede cambiar la contraseña de otro usuario • GRANT USAGE ON *.* TO 'user1'@'localhost' IDENTIFIED BY 'user12‘; Puede usar el comando GRANT USAGE globalmente (ON *.*) para asignar una contraseña a una cuenta sin afectar los permisos actuales de la cuenta • UPDATE mysql.user SET Password = PASSWORD('user13') WHERE Host = 'localhost' AND User = 'user1'; FLUSH PRIVILEGES; Aunque generalmente es preferible asignar contraseñas usando uno de los métodos precedentes, se puede hacer modificando la tabla mysql. user directamente: Cambiar Contraseñas de Usuario (I)
  • 49. LUIS MENGUAL (c) Gestión de Bases de Datos SHOW GRANTS FOR CURRENT_USER(); Cambiar Contraseñas de Usuario (II)
  • 50. LUIS MENGUAL (c) Gestión de Bases de Datos SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('user11') Cambiar Contraseñas de Usuario (III)
  • 51. LUIS MENGUAL (c) Gestión de Bases de Datos GRANT USAGE ON *.* TO 'user1'@'localhost' IDENTIFIED BY 'user12'; Cambiar Contraseñas de Usuario (IV)
  • 52. LUIS MENGUAL (c) Gestión de Bases de Datos UPDATE mysql.user SET Password = PASSWORD('user13') WHERE Host = 'localhost' AND User = 'user1'; FLUSH PRIVILEGES; Cambiar Contraseñas de Usuario (V)
  • 53. LUIS MENGUAL (c) Gestión de Bases de Datos Resetear Contraseña Root MySQL (I) SET PASSWORD FOR 'root'@'%' = PASSWORD('root'); Arrancar el servidor con: mysqld --skip-grant-tables Entro como root sin password mysql -u root Cambio la password UPDATE mysql.user SET Password=PASSWORD(‘root2') WHERE User='root'; actualizar los privilegios FLUSH PRIVILEGES;
  • 54. LUIS MENGUAL (c) Gestión de Bases de Datos SET PASSWORD FOR 'root'@'%' = PASSWORD('root'); Resetear Contraseña Root MySQL (II)
  • 55. LUIS MENGUAL (c) Gestión de Bases de Datos Resetear Contraseña Root MySQL (III)
  • 56. LUIS MENGUAL (c) Gestión de Bases de Datos Resetear Contraseña Root MySQL (IV)