Crear usuarios en MySql (GRANT)

GRANT es una sentencia de MySql que permite ademas de registrar al usuario asignarle permisos de tablas, servidores y procesos. Para crear un usuario la sintaxis es:

GRANT <tipo de sentencias permitidas>
ON <base de datos>
TO <Nombre del usuario>@<servidor permitido>
IDENTIFIED BY  “clave del usuario”;

Por lo que para crear un usuario con todos los privilegios escribiriamos:

GRANT ALL ON *.* TO ‘nombre_del_usuario’@’localhost’ IDENTIFIED BY ‘alguna_clave’

Conectarse desde otro servidor

si además de tener todos los privilegios queremos que este usuario se conecte desde otro servidor entonces sería:

 GRANT ALL ON *.* TO ‘nombre del usuario’@‘algunservidor.com’ IDENTIFIED BY ‘alguna_clave’;

o desde cualquier servidor:

GRANT ALL ON *.* TO ‘nombre del usuario’@‘%’ IDENTIFIED BY ‘alguna_clave’;

GRANT ALL ON *.* TO ‘nombre del usuario’@‘%.gov.ec’ IDENTIFIED BY ‘alguna_clave’;

esto es especialmente util si nos queremos conectar desde nuestro computador al servidor de la base de datos a traves de una interfaz gráfica.

Restringir bases de datos y tablas

Se pueden crear usuarios con accesos especificos a ciertas tablas o bases de datos, como por ejemplo que solo pueda utilizar la base de datos con el nombre “prueba”:

GRANT ALL ON prueba.* TO ‘nombre del usuario’@’%’ IDENTIFIED BY ‘alguna_clave’;

o inclusive solo una tabla dentro de esa base de datos:

GRANT ALL ON prueba.tabla_unica TO ‘nombre del usuario’@’%’ IDENTIFIED BY ‘alguna_clave’;

Restringir operaciones del usuario

Se puede restringir las sentencias que este usuario puede ejecutar:

GRANT SELECT, DELETE ON *.* TO ‘nombre del usuario’@’%’ IDENTIFIED BY ‘alguna_clave’;

en el ejemplo anterior solo se le permite al usuario realizar consultas del tipo SELECT y DELETE por lo que no podra ni edita, ni ingresar nueva información.

Otros Datos

  • Para GRANT ‘_’ y ‘%’ funcionan como comdínes por lo que si necesitas utilizar ‘tabla_algo’ deberias usar ‘tabla\_algo’ (solo en el caso de que el nombre de la tabla se encuentre entre comillas ).
  • Al especificar cadenas, se usan comillas simples para delimitar los nombres de bases de datos y tabla (‘`‘). Para los nombres de servidor, usuario y contraseñas se usa apóstrofes (‘'‘).
  • Para mayor referencia visita http://dev.mysql.com/doc/refman/5.0/es/grant.html

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s