gfdjg

Páginas: 5 (1155 palabras) Publicado: 28 de mayo de 2014
Administración de
usuarios y permisos en
MySQL®

31

BASES DE DATOS

Hackers & Developers Magazine – Año 0, Número 8

La administración de usuarios y permisos en MySQL®
no puede dejarse librada solo a DBAs ni mucho menos
al simple azar. Por ello, en este artículo,
aprenderemos a gestionar usuarios y permisos en
MySQL®, de forma simple y comenzado desde lo más
básico.

Escritopor: Eugenia Bahit (GLAMP Hacker & eXtreme Programmer)
Eugenia es Arquitecta de Software, docente e instructora de
tecnologías GLAMP (GNU/Linux, Apache, MySQL, Python y PHP) y Agile
coach (UTN) especializada en Scrum y eXtreme Programming. Miembro
de la Free Software Foundation, The Linux Foundation y Debian
Hackers. Creadora de python-printr, Europio Engine y colaboradora de
Vim.
Webs:Cursos de programación: www.cursosdeprogramacionadistancia.com
Web personal: www.eugeniabahit.com
Redes sociales:
Twitter / Identi.ca: @eugeniabahit

C

ualquier informático que por diversos motivos suela trabajar con MySQL®
conectándose como root, debe tener la capacidad de administración suficiente y
necesaria para tomar medidas con respecto a la seguridad de las bases de datos,
quehasta incluso podrían “sacar las papas del fuego” en situaciones de suma
emergencia.

Al contrario de lo que generalmente se cree, gestionar usuarios y permisos en MySQL®,
es una tarea sumamente sencilla que está al alcance de cualquier programador o
administrador de sistemas. Lo más complejo, es tomar las medidas indicadas realizando
el análisis propio de un DBA.
Pero en este artículo, noscentraremos en el cómo se gestiona y respecto a lo demás,
nos limitaremos a decir que:

La medida más apropiada es aquella que define una política
clara sobre las necesidades reales de los usuarios del sistema.
Dicho esto, concentrémonos en cómo llevar a cabo las políticas elegidas.

Creación de usuarios
Para agregar un nuevo usuario , es tan simple como ejecutar la siguiente sentencia:CREATE USER
IDENTIFIED BY

nombre_de_usuario
'clave en texto plano';

Por ejemplo, para agregar al usuario juanperez con la clave 123456, se utilizaría:
CREATE USER
IDENTIFIED BY

juanperez
'123456';

Una muy buena práctica es limitar la conexión de los usuarios por host, para prevenir
conexiones desde hosts no deseados. Para ello, se utiliza:
'nombre_de_usuario'@'host'

Porejemplo, para crear al usuario beatrix y solo permitir su conexión local, la sentencia
sería la siguiente:
CREATE USER
IDENTIFIED BY

'beatrix'@'localhost'
'123456';

Si luego se deseara cambiar (o asignar en caso de inexistencia) una contraseña a un
determinado usuario, se utilizará SET PASSWORD como se muestra a continuación:
SET
FOR

PASSWORD
usuario = PASSWORD('nueva clave en textoplano');

# o también:
SET
PASSWORD
FOR
'usuario'@'host' = PASSWORD('nueva clave en texto plano');

Por ejemplo, para agregar p1r0m4n14c0 como contraseña del usuario root, la sentencia
sería:
©2013 HDMagazine.org – Creative Commons Atribución NoComercial CompartirIgual 3.0 Unported

Pág. 32

SET
FOR

PASSWORD
'root'@'localhost' = PASSWORD('p1r0m4n14c0');

Otorgar permisosPara otorgar permisos en MySQL®, se deben considerar:
Permiso: El tipo de consultas que se permitirá efectuar al usuario (SELECT, INSERT,
DELETE, UPDATE);
Database: Las bases de datos y/o tablas sobre las cuáles aplicarán dichos
permisos;
Usuario: El o los usuarios a los cuáles serán otorgados los permisos aplicados.

La configuración de permisos se realizará con la siguiente sentencia:GRANT
ON
TO

permiso
database
usuario;

Por ejemplo, para otorgar permisos de selección sobre la tabla categoria de la base de
datos weblibros al usuario juanperez, se ejecutará:
GRANT SELECT
ON
weblibros.categoria
TO
juanperez;

Suponiendo que la base de datos weblibros contenga dos tablas:
mysql> show tables from weblibros;
+---------------------+
| Tables_in_weblibros |...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS