gfdjg
Páginas: 5 (1155 palabras)
Publicado: 28 de mayo de 2014
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.