Usuarios y privilegios mySQL

Páginas: 7 (1536 palabras) Publicado: 22 de mayo de 2013
Usuarios y privilegios
Hasta ahora hemos usado sólo el usuario 'root', que es el administrador, y que dispone de
todos los privilegios disponibles en MySQL.
Sin embargo, normalmente no será una buena práctica dejar que todos los usuarios con
acceso al servidor tengan todos los privilegios. Para conservar la integridad de los datos y de
las estructuras será conveniente que sólo algunosusuarios puedan realizar determinadas
tareas, y que otras, que requieren mayor conocimiento sobre las estructuras de bases de datos
y tablas, sólo puedan realizarse por un número limitado y controlado de usuarios.
Los conceptos de usuarios y privilegios están íntimamente relacionados. No se pueden crear
usuarios sin asignarle al mismo tiempo privilegios. De hecho, la necesidad de crear usuariosestá ligada a la necesidad de limitar las acciones que tales usuarios pueden llevar a cabo.
MySQL permite definir diferentes usuarios, y además, asignar a cada uno determinados
privilegios en distintos niveles o categorías de ellos.

NIVELES DE PRIVILEGIOS
En MySQL existen cinco niveles distintos de privilegios:
 Globales: se aplican al conjunto de todas las bases de datos en un servidor. Es elnivel
más alto de privilegio, en el sentido de que su ámbito es el más general.
 De base de datos: se refieren a bases de datos individuales, y por extensión, a todos
los objetos que contiene cada base de datos.
 De tabla: se aplican a tablas individuales, y por lo tanto, a todas las columnas de esas
tabla.
 De columna: se aplican a una columna en una tabla concreta.
 De rutina: seaplican a los procedimientos almacenados. Aún no hemos visto nada
sobre este tema, pero en MySQL se pueden almacenar procedimientos consistentes
en varias consultas SQL.

CREAR USUARIOS
Aunque a partir de la versión 5.0.2 de MySQL existe una sentencia para crear usuarios, CREATE
USER, en versiones anteriores se usa exclusivamente la sentencia GRANT para crearlos.
En general es preferible usarGRANT, ya que si se crea un usuario mediante CREATE USER,
posteriormente hay que usar una sentencia GRANT para concederle privilegios.
Usando GRANT podemos crear un usuario y al mismo tiempo concederle también los
privilegios que tendrá. La sintaxis simplificada que usaremos para GRANT, sin preocuparnos de
temas de cifrados seguros que dejaremos ese tema para capítulos avanzados, es:
GRANTpriv_type [(column_list)] [, priv_type [(column_list)]]
ON {tbl_name | * | *.* | db_name.*}
TO user [IDENTIFIED BY [PASSWORD] 'password']
[, user [IDENTIFIED BY [PASSWORD] 'password']] ...

La primera parte priv_type [(column_list)] permite definir el tipo de privilegio concedido para
determinadas columnas. La segunda ON {tbl_name | * | *.* | db_name.*}, permite conceder
privilegios enniveles globales, de base de datos o de tablas.

1

Para crear un usuario sin privilegios usaremos la sentencia:
mysql> GRANT USAGE ON *.* TO anonimo IDENTIFIED BY 'clave';
Query OK, 0 rows affected (0.02 sec)

Hay que tener en cuenta que la constraseña se debe introducir entre comillas de forma
obligatoria.
Un usuario 'anonimo' podrá abrir una sesión MySQL mediante una orden:
C:\mysql -hlocalhost -u anonimo -p

Pero no podrá hacer mucho más, ya que no tiene privilegios. No tendrá, por ejemplo,
oportunidad de hacer selecciones de datos, de crear bases de datos o tablas, insertar datos,
etc.
CONCEDER PRIVILEGIOS
Para que un usuario pueda hacer algo más que consultar algunas variables del sistema debe
tener algún privilegio. Lo más simple es conceder el privilegio paraseleccionar datos de una
tabla concreta. Esto se haría así:
La misma sentencia GRANT se usa para añadir privilegios a un usuario existente.
mysql> GRANT SELECT ON prueba.gente TO anonimo;
Query OK, 0 rows affected (0.02 sec)

Esta sentencia concede al usuario 'anonimo' el privilegio de ejecutar sentencias SELECT sobre
la tabla 'gente' de la base de datos 'prueba'.
Un usuario que abra una sesión...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Comandos De Usuarios Y Privilegios
  • Practica control de usuarios en mysql
  • tipos de usuarios en MYSQL
  • creacion de usuario en mysql
  • Manual de usuario php y mysql
  • Procedimiento para cambiar privilegios de usuario
  • Bitacora De Creacion De Usuarios En Mysql Y Postgresql
  • Como Crear Un Inicio De Secion Con Privilegios Para Usuarios

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS