xunilung | 20 Setembre, 2006 17:24
Instal·lam el MySQL i una vegada fet hem de posar una password al root
| # mysqladmin -u root password 'passwordbd' |
| # mysqlshow -p Enter password: +-----------+ | Databases | +-----------+ | mysql | | test | | tmp | +-----------+ |
Veim que hi ha 3 bd:
mysql: controla els pemisos d'usuaris, hosts..etc
test: bd de prova
tmp: no he arribat a aclarir que és. Evidentment cosa de temporal (no de tormenta :-))
La configuració per defecte de MySQL permet a qualsevol usuari accedir-hi sense posar un nom i una password. Eliminarem l'usuari anònim
I perque tengui efecte:
# mysqladmin -u root -p reload
Enter password:
Arribats a aquest punt tenim un usuari root que es pot connectar al servidor MySQL només des del PC servidor. Haurem de crear usuaris per bd que es puguin connectar des de qualsevol PC. La idea és que un usuari alu1 amb passwd palu1 es connecti a la bdalu1
Cream bdalu1
| mysql> create database bdalu1; Query OK, 1 row affected (0.00 sec) |
Cream l'usuari alu1
| mysql> grant select, insert, update, delete, index, alter, create, drop -> on bdalu1.* -> to alu1 identified by 'palu1'; Query OK, 0 rows affected (0.00 sec) |
select: permet seleccionar files (els registres de les taules)
insert: li es permés inserir files a les taules
update: podrà modificar valors de les files de les taules
delete: li es permès eliminar files de les taules
index: podrà crear i eliminar índex sobre taules
alter: podrà alterar l'estructura de les taules, p.e modificar els tipus de dades , el nom de columnes o de les taules...
create: l'usuari podrà crear la bdalu1, i taules en aquesta bd. Si la crea és evident que abans l'haurà d'eliminar.
drop: podrà eliminar bd i taules
Crearé una altre usuari, amb el nom, passwd i bd
alu2, palu2, bdalu2
| $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1 to server version: 4.0.15 Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> create database bdalu2; Query OK, 1 row affected (0.03 sec) mysql> grant select, insert, update, delete, index, alter, create, drop -> on bdalu2.* -> to alu2 identified by 'palu2'; Query OK, 0 rows affected (0.01 sec) mysql> |
Si tenc 20 alumnes, es crearn 20 bd, una per cada un d'ells perque puguin practicar. Es pot fer un fitxer de texte, que carregarem a través del servidor MySQL, amb totes les dades necessàries perque es crein les bd.
Cada alumne es connectarà al server (192.168.0.3) des d'un PC diferent, i cada un d'ells només veurà la seva bd i la de prova (que podem eliminar).
Ho podem comprovar amb el alu2 des del host 192.168.0.4:
| $ mysql -h 192.168.0.3 -u alu2 -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 5 to server version: 4.0.15 Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> show databases; +----------+ | Database | +----------+ | bdalu2 | | test | +----------+ 2 rows in set (0.00 sec) mysql> |
| « | Desembre 2008 | » | ||||
|---|---|---|---|---|---|---|
| Dl | Dm | Dc | Dj | Dv | Ds | Dg |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||
Aquesta xuleta és fantàstica, gràcies!!
M'alegra que t'agradi. Més endavant posaré exemples pràctics.
Segurament hi ha maneres més "professionals" de fer aquestes coses . Lo únic que et puc assegurar és que així funciona molt bé.!