Bases de datos en MySQL
Bases de datos en MySQL
Bases de datos en MySQL
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.