Lenguaje de Control de Datos (DCL): Por medio de este lenguaje podemos controlar el acceso a la información de nuestra Base de Datos, proporcionando la seguridad de la misma, dandole integridad a nuestros datos.
Caracteristicas:
a) Garantiza la seguridad de nuestros datos.
b) Previene el acceso ilegal a nuestros datos.
c)Monitorea el acceso a nuestros datos.
d)Especifica a cada usuario lo que puede realizar en nuestra base de datos.
Como podemos notar por medio de este lenguaje ofrecemos seguridad a la administración de nuestras base de datos, este lenguaje en MySQL esta conformado por dos comandos cuya sintaxis mostraremos a continuación
1.- GRANT: Se utiliza para darle permisos a un usuario en nuestra base de datos la sintaxis es la siguiente.
GRANT privilegios ON basededatos.tabla TO usuario IDENTIFIED BY 'contraseña del usuario';
Donde los privilegios pueden ser:
Privilegio | Significado |
ALL [PRIVILEGES] | Da todos los permisos simples excepto GRANT OPTION |
ALTER | Permite el uso de ALTER TABLE |
ALTER ROUTINE | Modifica o borra rutinas almacenadas |
CREATE | Permite el uso de CREATE TABLE |
CREATE ROUTINE | Crea rutinas almacenadas |
CREATE TEMPORARY TABLES | Permite el uso de CREATE TEMPORARY TABLE |
CREATE USER | Permite el uso de CREATE USER , DROP , RENAME USER , yREVOKE ALL PRIVILEGES . |
CREATE VIEW | Permite el uso de CREATE VIEW |
DELETE | Permite el uso de DELETE |
DROP | Permite el uso de DROP TABLE |
EXECUTE | Permite al usuario ejecutar rutinas almacenadas |
FILE | Permite el uso de SELECT ... INTO OUTFILE yLOAD DATA INFILE |
INDEX | Permite el uso de CREATE INDEX y DROP |
INSERT | Permite el uso de INSERT |
LOCK TABLES | Permite el uso de LOCK TABLES en tablas para las quetenga el permiso SELECT |
PROCESS | Permite el uso de SHOW FULL PROCESSLIST |
REFERENCES | No implementado |
RELOAD | Permite el uso de FLUSH |
REPLICATION CLIENT | Permite al usuario preguntar dónde están los servidores maestro o esclavo |
REPLICATION SLAVE | Necesario para los esclavos de replicación (para leer eventos del log binario desde el maestro) |
SELECT | Permite el uso de SELECT |
SHOW DATABASES | SHOW DATABASES muestra todas las bases de datos |
SHOW VIEW | Permite el uso de SHOW CREATE VIEW |
SHUTDOWN | Permite el uso de mysqladmin shutdown |
SUPER | Permite el uso de comandos CHANGE MASTER ,KILL , PURGE MASTER , and SET GLOBAL , elcomando mysqladmin debug le permite conectar (una vez) incluso si se llega a max_connections |
UPDATE | Permite el uso de UPDATE |
USAGE | Sinónimo de “no privileges” |
GRANT OPTION | Permite dar permisos |
a)El asterisco punto asterisco solo: Indicaríamos que el usuario tiene el privilegio indicado sobre todas las tablas y todas las base de datos. Ejemplo:
GRANT ALL PRIVILEGES ON *.* TO usuario IDENTIFIED BY 'contraseña';
b)Nombre de la base de datos seguido de punto(.) asterisco (*): Indicamos todas las tablas de esa base de datos.
GRANT ALL PRIVILEGES ON base_datos.* TO usuario IDENTIFIED BY 'contraseña';
c)Nombre de la base de datos seguido de punto(.) y nombre de la tabla: Indicamos a cual tabla en especifica se le darán los privilegios indicados.
GRANT ALL PRIVILEGES ON base_datos.tabla TO usuario IDENTIFIED BY 'contraseña';
Como se puede ver con el GRANT otorgamos privilegios a los usuarios desde nuestro usuario administrador ROOT de manera que solo tengan acceso a lo que el administrador del sistema indique.
2.-REVOKE: Es utilizado para quitarle o revocar los privilegios de un usuario en nuestras base de datos, la sintaxis es la siguiente:
REVOKE privilegios ON basedatos FROM usuario;
Donde los privilegios son igual que los establecidos en la tabla anterior, y la base de datos igualmente se le indica de la manera que se indico con el GRANT.
Como podemos observar el lenguaje DCL es importante en la Administración de nuestras base de datos ya que nos ayuda a mantenerlas seguras y tener control total sobre lo que los usuarios pueden o no hacer dentro de ella. Espero que el artículo sea de su agrado cualquier información extra pueden buscar como siempre indico en el manual de MySQL, tambien si existe sugerencias o algo que me alla faltado solo indiquenlo así aprendemos todos en el camino, me despido hasta una próxima entrada saludos
No hay comentarios:
Publicar un comentario