Professional Documents
Culture Documents
Privilegios de usuarios:
Para crear un nuevo usuario se utiliza la sentencia GRANT, ejemplo:
GRANT USAGE ON *.* TO nom_usuario IDENTIFIED BY 'clave';
Pero hay una manera ms sencilla y corta:
CREATE USER nom_usuario IDENTIFIED BY 'clave';
Si queremos limitar la conexin de manera local va el siguiente cdigo:
CREATE USER 'nom_usuario'@'localhost' IDENTIFIED BY 'clave';
Si queremos crear una contrasea si se tiene uno, o tal vez cambiar el actual
va el siguiente cdigo:
SET PASSWORD FOR usuario = PASSWORD ('contrasea');
Ejemplo:
SET PASSWORD FOR david@localhost = PASSWORD ('telesup');
Los nuevos usuarios que hemos creado no poseen privilegios para nada, para
ello se debe utilizar la sentencia GRANT y las siguientes sentencias:
Opciones de tipo de permiso
GRANT SELECT
Un permiso especifico
GRANT SELECT, INSERT, UPDATE
Varios permisos
GRANT ALL
Todos los permisos
Opciones para indicar a que base de datos y tablas se aplicarn dichos
permisos
ON DATABASE.TABLE
A una tabla
ON DATABASE.TABLE1,
A varias tablas
DATABASE.TABLE2,
DATABASE2.TABLE.
ON DATABASE.*
A todas las tablas de la BD
Opciones para indicar a quienes se indicarn dichos permisos
TO usuario
Un usuario
TO usuario1, usuario2
Varios usuarios
Veamos un ejemplo:
Supongamos que tenemos la base de datos: transportes (tablas: marca,
producto) y la base de datos pedidos (tablas: cliente, producto, pedido)
Y
queremos
dar
permiso
usuario David de seleccin en la base de datos transportes en
tabla productos. La sentencia seria la siguiente:
GRANT SELECT
al
la
ON transportes.productos.
TO david@localhost;
Ahora bien si queremos que david pueda dar privilegios a otro usuario llamado
reyes utilizaremos la sentencia: WITH GRANT OPTION.
Privilegio
Tabla
usuario
Ejemplo:
REVOKE SELECT
ON transportes.producto
FROM reyes@localhost
Ahora bien, para borrar un usuario se tiene la sentencia DROP USER, para
borrar un usuario primero debemos quitar los privilegios con la
sentencia REVOKE y luego borrar con la sentencia DROP USER.
Ejemplo para borrar el usuario reyes.
DROP USER reyes@localhost;
Bien pero si queremos ver todos los usuarios que hay en la base de datos
utilizaremos la sentencia:
SELECT USER, HOST FROM mysql.user;
Y para conocer los privilegios que tiene cada usuario utilizaremos la sentencia:
SHOW GRANTS FOR usuario;
Vistas
Una vista es una tabla temporal, naturalmente es utilizado para realizar
consultas. Se puede utilizar desde un cdigo sencillo hasta una ms compleja,
pero exista cierta limitacin en cdigo respecto a las vistas, para ello se debe
hacer directamente en la base de datos. La vista creada nos permitir
consultar rpidamente cualquier consulta que hayamos programado.
Para crear una vista se utiliza la sentencia CREATE VIEW.
CREATE VIEW (nombre de la vista) AS SELECT * FROM (tabla);
Ejemplo: CREATE
marpro FROM producto;
VIEW vista_producto AS
SELECT nompro,
VIEW vista_producto AS
SELECT nompro,
Bien para ello crearemos una vista que realice esta consulta
En general con las vista podemos consultar datos como si de una tabla
cualquiera se tratase, podemos por ejemplo utilizar clausulas operadores, etc.
durante la consulta.
Cifrado de datos:
Es la encriptacin de datos, dicho en otras palabras ocultar la informacin
hacindola muy difcil de descifrarlo. Existen dos formas de encriptacin de
datos, uno que es posible revertir el cifrado mediante una clave que
proporcionemos y otro que es irreversible, no se puede revertir el cifrado.
La funcin ENCODE toma dos argumentos, la primera es la cadena que
debemos encriptar y la segunda es la secuencia que ser utilizada para
encriptar la informacin, un ejemplo sera:
SELECT ENCODE ('desierto','23');