Está en la página 1de 9

CREACIN DE USUARIOS MYSQL

Existen varios niveles de privilegios para saber dnde puede acceder el usuario, como
globales (todas las base de datos), de base de datos (base de datos concretas), de tabla
(para visualizar tablas determinadas) etc.
1)Creacin de usuarios.
Para crear un usuario sin privilegios usaremos la sentencia:
Create user 'anonimo'@'localhost' identified by 'clave';
Para acceder mediante ese usuario escribiremos:
D:\Archivo de programas\wamp\bin\mysql\mysql5.5.24\bin\mysql -h localhost
-u anonimo p
Y escribiremos la contrasea en mysql, en este caso clave
2)Aadir privilegios globales (todas las bases de datos) a un usuario existente .
-Conceder todos los privilegios de instrucciones:
grant all privileges on * . * to 'anonimo'@'localhost';

-Conceder privilegios para crear tablas o una base de datos:


Con el usuario anonimo aunque le hayamos concedido todos los privilegios , ste no
puede conceder otros privilegios a l mismo ni a otros, usaremos el usuario
administrador para darle ste privilegio.
Para hacer la prueba he creado el usuario anonim ya que el usuario anonimo tenia
todos los privilegios.
grant create on * . * to 'anonim' @'localhost';

-Conceder privilegios de instruccin para eliminar tablas o bases de datos:


grant drop on * . * to 'anonim' @'localhost';
-Conceder privilegios de instruccin para eliminar registros de tablas:
grant delete on * . * to 'anonim' @'localhost';
-Conceder privilegios de instruccin para insertar registros en las tablas:
grant insert on * . * to 'anonim' @'localhost';
-Conceder privilegios de instruccin para leer los registros en las tablas:
grant select on * . * to 'anonim' @'localhost';
-Conceder privilegios de instruccin para actualizar los registros en las
tablas:
grant update on * . * to 'anonim' @'localhost';
-Conceder privilegios de instruccin para remover privilegios de usuarios:
grant grant option on * . * to 'anonim' @'localhost';
2.1)Aadir privilegios de bases de datos a un usuario existente .
He creado otro usuario anonimo2 para evitar conflictos de privilegios en las pruebas.
-Conceder todos los privilegios de instruccin:
grant all privileges on universidad1. * to 'anonimo2'@'localhost';
-Conceder privilegios de instruccin para crear tablas o base de datos:
grant create on universidad1. * to 'anonimo2' @'localhost'

-Conceder privilegios de instruccin para eliminar tablas o bases de datos:


grant drop on universidad1.* to 'anonimo2' @'localhost';

-Conceder privilegios de instruccin para eliminar registros de tablas:


grant delete on universidad1. * to 'anonimo2' @'localhost';
-Conceder privilegios de instruccin para insertar registros en las tablas:
grant insert on universidad1. * to 'anonimo2' @'localhost';
-Conceder privilegios de instruccin para leer los registros en las tablas:
grant select on universidad1. * to 'anonimo2' @'localhost';
-Conceder privilegios de instruccin para actualizar los registros en las
tablas:
grant update on universidad1. * to 'anonimo2' @'localhost';
-Conceder privilegios de instruccin para remover privilegios de usuarios:
grant grant option universidad1. * to 'anonimo2' @'localhost';

2.2)Aadir privilegios a una tabla de la base de datos para un usuario existente .


He creado el usuario anonimo3
-Conceder todos los privilegios de instruccin:
grant all privileges on universidad1.prueba to 'anonimo3'@'localhost';
-Conceder privilegios de instruccin para crear tablas o base de datos:
grant create on universidad1.prueba to 'anonimo3' @'localhost'
-Conceder privilegios de instruccin para eliminar tablas o bases de datos:
grant drop on universidad1.prueba to 'anonimo3' @'localhost';
-Conceder privilegios de instruccin para eliminar registros de tablas:
grant delete on universidad1.prueba to 'anonimo3' @'localhost';
-Conceder privilegios de instruccin para insertar registros en las tablas:
grant insert on universidad1.prueba to 'anonimo3' @'localhost';

(Al dar privilegios de instruccin de insert dentro de los privilegios de tablas , se


observa que solo se puede visualizar la tabla prueba y solo se puede insertar, no deja
eliminar la tabla por ejemplo)

-Conceder privilegios de instruccin para leer los registros en las tablas:


grant select on universidad1.prueba to 'anonimo3' @'localhost';
-Conceder privilegios de instruccin para actualizar los registros en las
tablas:
grant update on universidad1.prueba to 'anonimo3' @'localhost';

-Conceder privilegios de instruccin para remover privilegios de usuarios:


grant grant option universidad1.prueba to 'anonimo3' @'localhost';

2.3)Aadir privilegios a una columna de una tabla de una base de datos para un
usuario existente .
He creado el usuario anonimo4
-Conceder privilegios de instruccin para eliminar registros de tablas:
Grant delete (cod) on universidad1.prueba2 to anonimo4 identified by "clave";
-Conceder privilegios de instruccin para leer los registros en las tablas:
Grant select (cod) on universidad1.prueba2 to anonimo4 identified by "clave";

Como se aprecia, solo se puede acceder a la columna cod. Al intentar acceder a


toda la tabla o actualizar un registro, da error por los privilegios.
-Conceder privilegios de instruccin para actualizar los registros en las
tablas:
Grant update (cod) on universidad1.prueba2 to anonimo4 identified by "clave";

3)Para quitar los privilegios:


Para cada privilegio de instruccin habra que aadir la palabra REVOKE en lugar de
GRANT y seguido del privilegio, ejemplo:
revoke all privileges on *.* from anonimo4;
revoke update on universidad1.prueba2 from anonimo4;

Ya no se puede actualizar los registros , al haber sido removidos los privilegios.

4)Mostar los privilegios de cada usuario:


4.1) Para visualizarlos en el usuario desde el que estamos conectados, hay varias
opciones:
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

4.2) Para visualizarlo desde el usuario administrador:


SHOW GRANTS FOR 'nombre de usuario'@'localhost';
show grants for 'anonimo3'@'localhost';

5)Borrar usuarios:
DROP USER 'nombre_usuario'@'localhost';
DROP USER 'anonimo3'@'localhost';
Solo puede borrar usuarios el usuario administrador, aunque un usuario posea ALL
PRIVILEGES.