11.05.2013 Views

Bases de datos en MySQL

Bases de datos en MySQL

Bases de datos en MySQL

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • P06/M2109/02151 39 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> <strong>en</strong> <strong>MySQL</strong><br />

usuarios <strong>de</strong>l sistema operativo. Aunque <strong>en</strong> la práctica es común que algún administrador<br />

<strong>de</strong> <strong>MySQL</strong> asigne los mismos nombres que los usuarios ti<strong>en</strong><strong>en</strong> <strong>en</strong><br />

el sistema, son mecanismos totalm<strong>en</strong>te in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>tes y suele ser aconsejable<br />

<strong>en</strong> g<strong>en</strong>eral.<br />

El usuario administrador <strong>de</strong>l sistema <strong>MySQL</strong> se llama root. Igual que el superusuario<br />

<strong>de</strong> los sistemas tipo UNIX.<br />

A<strong>de</strong>más <strong>de</strong>l usuario root, las instalaciones nuevas <strong>de</strong> <strong>MySQL</strong> incluy<strong>en</strong> el usuario<br />

anónimo, que ti<strong>en</strong>e permisos sobre la base <strong>de</strong> <strong>datos</strong> test. Si queremos, también<br />

po<strong>de</strong>mos restringirlo asignándole una contraseña. El usuario anónimo <strong>de</strong><br />

<strong>MySQL</strong> se repres<strong>en</strong>ta por una ca<strong>de</strong>na vacía. Vemos otra forma <strong>de</strong> asignar contraseñas<br />

a un usuario, <strong>de</strong>s<strong>de</strong> el cli<strong>en</strong>te <strong>de</strong> mysql y como usuario root:<br />

mysql> set password for ''@'localhost' = password(’nuevapasswd’);<br />

La administración <strong>de</strong> privilegios y usuarios <strong>en</strong> <strong>MySQL</strong> se realiza a través <strong>de</strong> las<br />

s<strong>en</strong>t<strong>en</strong>cias:<br />

• GRANT. Otorga privilegios a un usuario, <strong>en</strong> caso <strong>de</strong> no existir, se creará el<br />

usuario.<br />

• REVOKE. Elimina los privilegios <strong>de</strong> un usuario exist<strong>en</strong>te.<br />

• SET PASSWORD. Asigna una contraseña.<br />

• DROP USER. Elimina un usuario.<br />

5.2.1. La s<strong>en</strong>t<strong>en</strong>cia GRANT<br />

La sintaxis simplificada <strong>de</strong> grant consta <strong>de</strong> tres secciones. No pue<strong>de</strong> omitirse<br />

ninguna, y es importante el or<strong>de</strong>n <strong>de</strong> las mismas:<br />

• grant lista <strong>de</strong> privilegios<br />

• on base <strong>de</strong> <strong>datos</strong>.tabla<br />

• to usuario<br />

Ejemplo<br />

Creación <strong>de</strong> un nuevo usuario al que se otorga algunos privilegios<br />

mysql> grant update, insert, select<br />

-> on <strong>de</strong>mo.precios<br />

-> to visitante@localhost ;<br />

En la primera línea se especifican los privilegios que serán otorgados, <strong>en</strong> este caso se permite<br />

actualizar (update), insertar (insert) y consultar (select). La segunda línea especifica que los<br />

privilegios se aplican a la tabla precios <strong>de</strong> la base <strong>de</strong> <strong>datos</strong> <strong>de</strong>mo. En la última línea se <strong>en</strong>cu<strong>en</strong>tra<br />

el nombre <strong>de</strong>l usuario y el equipo <strong>de</strong>s<strong>de</strong> el que se va a permitir la conexión.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!