Вы находитесь на странице: 1из 4

Nombre: Diego Andres Contreras Camargo

Comando GRANT:
SQL GRANT es un comando que se utiliza para dar acceso o
privilegios sobre los objetos de base de datos a los usuarios.
La sintaxis para el comando GRANT es:
GRANT privilege_name
ON object_name
TO {user_name |PUBLIC |role_name}
[WITH GRANT OPTION];
privilege_name es el derecho de acceso o privilegio
concedido para el usuario. Algunos de los derechos de acceso
son TODOS, ejecutar y seleccionar.
object_name es el nombre de un objeto de base de datos
como tabla, vista proc almacenado y secuencia.
nombre_usuario es el nombre del usuario al que derecho se
concede un acceso.
nombre_usuario es el nombre del usuario al que derecho se
concede un acceso.
PBLICO se utiliza para conceder derechos de acceso a todos
los usuarios.
FUNCIONES son un conjunto de privilegios agrupados.
WITH GRANT OPTION - Permite a un usuario para otorgar
derechos de acceso a otros usuarios.

Ejemplo: GRANT SELECT ON employee TO user1; Este


comando permite realizar un SELECT a la tabla de empleados
al user1.
Se deben usar las opciones con mucho cuidado por ejemplo si
se permite el GRANT SELECT como privilegio al usuario 1 este
puede darle tambin privilegios de SELECT a otro usuario
sobre la tabla, como al user2 etc.
Manejo de seguridad en las BD con el commando GRANT:
GRANT
Los Comandos GRANT y REVOKE se utilizan para conceder y
retirar los derechos a los usuarios de MySQL.
Hay cuatro niveles de privilegio.
Estos niveles son:

Global
Base de datos
Tabla
Columna
Comando GRANT
Se utiliza para crear usuarios y concederle previlegios. La
sintaxis general del comando GRANT es la siguiente:
GRANT privilegios (columnas)
ON elemento
TO nombre_usuario IDENTIFIED BY 'contrasea'
(whith grant option);
Lo que esta dentro de los parntesis son opcionales, y los
parntesis no hay que ponerlos.
Es importantsimo que al final poner el ";" despus de poner
cada lnea pulsar "intro", pues si hay algn error mysql nos

indicara en que lnea esta el error.


En primer lugar veremos privilegios, equivale a una lista de
privilegios separados por comas.
Columnas
Es opcional y puede ser utilizado para especificar privilegios a
cada columna. Si los separamos por comas podemos poner
una serie de lista de nombres de columnas.
Elemento
Es la base de datos o la tabla a la que se aplican los nuevos
privilegios.
Se puede conceder privilegios a todos las bases de datos
especificando *.* como elemento. Es lo que se conoce como
conceder privilegios globales.Tambien se puede especificar *
nicamente si no va utilizar ninguna base de datos en
concreto.
Por regla general, especificar todas las tablas de la bases de
datos como nombre_bd.*, una sola tabla de base de datos
como nombre_bd.nombre_tabla o columnas deseadas en el
marcador de posicioncolumnas. Si est utilizando una base de
datos especifca al remitir este comando y slo se utiliza
nombre_table, se interpretar como una tabla de la base de
datos actual.
Nombre_usuario
Ser el nombre del usuario, con el que deseas registrar en
MySQL. Recuerda que no tiene por qu ser el mismo que el
nombre de registro del sistema. Este parmetro tambin
pueden contener un nombre de host. Puedes utilizarlo para
distinguir, por ejemplo, entre "ramon", interpretado como
ramon@hostlocal y ramon@otrositio.com Esta opcin resulta

bastante til porque los usuarios pertenecientes a varios


dominios suelen utilizar los mismos nombres.
Contrasea
Es la contrasea que deseamos utilizar para iniciar la sesin.
Es aconsejable que tengan una combinacin de caracteres,
entre maysculas minsculas y nmeros.
With grant option
Es opcin y permite delegar los privilegios en otro usuario.
Los privilegios se almacenan en cuatro tablas del sistema,
dentro de la base de datos mysql. Estas cuatro tablas se
denominan
mysql.user,
mysql.db,
mysql.table_priv
ymysql.colms_priv y se relacionan directamente con los
cuatro niveles de privilegio mencionados anteriormente. Como
alternativa a GRANT, puede alterar estas tablas directamente.