Definir los host de conexión de los usuarios a MySQL

  • Por
Con MySQL Administrator se pueden definir distintos ordenadores o host desde los que un usuario se puede conectar a una base de datos MySQL.
Vamos a continuar la explicación de la gestión de usuarios en bases de datos MySQL que ya comenzamos en el artículo Gestionar usuarios MySQL.

Anteriormente los usuarios y los distintos host se definían en MySQL con un formato usuario@host. Por ejemplo pepe@localhost quería decir que el usuario pepe se puede conectar solamente desde el propio ordenador donde está el servidor de la base de datos. Por ejemplo, pepe@% significaba que el usuario pepe se puede conectar desde cualquier host. Los permisos asignados a pepe@localhost y pepe@% pueden ser distintos.

Ahora el manejo de host de cada usuario se hace de manera distinta.

Inicialmente cualquier usuario creado se puede conectar desde cualquier host o computador posible. Si esta situación no nos conviene, podemos definir nuevos host pulsando con el botón derecho del ratón sobre el usuario que queremos añadir ordenadores de acceso. Entonces nos sale un formulario para indicar el nombre del host que queremos añadir a ese usuario, o su dirección IP.

En cualquier momento, si hacemos doble clic sobre un usuario y nos sale debajo una lista de hosts, es que ese usuario se puede conectar desde cualquier de esos host y además, podremos asignar permisos distintos al usuario cuando se conecte desde cada ordenador posible. De modo que un usuario si se conecta, por ejemplo desde localhost, puede tener más permisos que si se conecta desde otros ordenadores de la red local o de Internet.


Por ejemplo, en la imagen anterior se entiende que el usuario prueba se puede conectar desde localhost (el ordenador local) y desde otro equipo llamado "otrohost". Pero tener cuidado con esta lista de host, porque a lo mejor todavía estamos permitiendo que el usuario prueba se pueda conectar desde cualquier host y es posible que no deseemos que eso se permita, sino que sólo se deje acceder si se accede desde esos host especificados.

Para darnos cuenta de este detalle podemos ver en la ventana de propiedades del usuario el nombre del usuario que sale, para saber los host que están permitidos.

Lo vemos con una imagen:


En esta imagen nos hemos situado en el host localhost del usuario prueba. Vemos que en la parte de arriba, en la parte de propiedades del usuario aparece prueba@localhost. Eso quiere decir que está definido el usuario prueba siempre que se conecte desde localhost y que estamos en la ventana de propiedades de ese usuario.

Ahora veamos la siguiente imagen:


Nos hemos situado encima del usuario prueba. Si nos fijamos en la parte de arriba de las propiedades del usuario veremos como aparece "prueba", donde en la imagen anterior aparecía prueba@localhost. En el usuario "prueba", como no está indicado ningún host, quiere decir que el usuario prueba puede accederse desde cualquier host.

Si queremos evitar que el usuario prueba se pueda acceder desde cualquier equipo, simplemente pulsamos con el botón derecho en el nombre de usuario y seleccionamos la opción que pone "remove host from which the user can connect". Entonces, si hemos pulsado sobre el nombre del usuario nos quitará el acceso del usuario desde cualquier host. Si hacemos la misma acción sobre cualquier nombre de host, como localhost, nos quitará la posibilidad de que el usuario se pueda conectar desde ese ordenador.

Apretando con el botón derecho en cualquier usuario o host nos dará una serie de opciones, para el mantenimiento de ese usuario o host que no hemos nombrado, como añadir un usuario, borrarlo o duplicarlo.

Conclusión

Hemos explicado rápidamente la gestión de usuarios en MySQL con MySQL Administrator. No resulta muy compleja, por lo que podremos dominar las distintas opciones fácilmente.

Si queremos, siempre podemos echar un vistazo a la tabla user de la base de datos mysql, que es donde se guardan los usuarios de la base de datos y así podemos ver de qué manera se han implementado internamente los cambios que hemos hecho con MySQL Administrator.

Autor

Miguel Angel Álvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Vic

17/2/2007
MMM es muy practico su documento, aprendi un par de cosas que no conocia de MySql acerca del manejo de usuarios, solo una pregunta alguien puede sugerirme que hacer:

usar 1 solo usuario que se conecte a la Base desde una aplicacion, pero que este se conecte muchas veces

o

usar muchos usuarios para que se conecten a la base desde una aplicacion

Gracias