Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Sql


Qdidactic » stiinta & tehnica » informatica » sql
Sistemul de gestiune a bazelor de date MySQL



Sistemul de gestiune a bazelor de date MySQL


Sistemul de gestiune a bazelor de date MySQL


MySQL este un sistem de gestiune a bazelor de date relationale de tipul Open Source, ceea ce inseamna ca orice utilizator poate utiliza si modifica acest software, care poate fi preluat din Internet fara nici-o taxa (de la adresa www.mysql.com). 

MySQL poate fi folosit in numeroase aplicatii (chiar aplicatii comerciale), prezentand calitati remarcabile de standardizare, independenta de platforma si stabilitate si fiind, in acelasi timp, deosebit de compact, usor de instalat si usor de administrat. Ii lipsesc unele din trasaturile avansate de lucru cu bazele de date relationale (verificarea integritatii referentiale, vederi, trigere, etc.), dar este destul de potrivit pentru a incepe studiul bazelor de date relationale si a limbajului SQL.




1. Instalarea si pornirea serverului MySQL


Instalarea serverului MySQL se face foarte simplu, executand programul de instalare Setup.exe, dupa dezarhivarea fisierului de distributie. Versiunea oferita este in permanenta imbunatatita si poate fi actualizata de utilizatori. Instalarea din laborator si exemplele din acest indrumar se bazeaza pe versiunea 3.23.52 pentru sistemele de operare Windows NT/2000/XP (fisierul de distributie mysql-3.23.52-win.zip).

Dupa instalarea MySQL, pornirea serverului in Windows NT (NT 4 cu Service Pack 3 sau mai nou)/2000/ XP se poate face in doua moduri: ca serviciu, sub controlul SCM (Service Control Manager), sau ca program executabil.

Pentru instalarea serverului MySQL ca serviciu Windows, se opreste mai intai serverul (daca acesta era deja pornit) cu comanda:

C:mysqlbin> mysqladmin -u root shutdown

Apoi se instaleaza serverul MySQL ca serviciu Windows prin comanda:

C:mysqlbin> mysqld-max-nt --install

Dupa instalarea serviciului, pornirea acestuia se face cu comanda: NET START MySQL, sau cu utilitarul Services din Control Panel (in sectiunea Administrative Tools sub Windows 2000/XP). Serviciul astfel instalat va porni automat la startarea sistemului de operare, dar se poate modifica (prin utilitarul Services), astfel incat pornirea sa se faca manual.

Atunci cand este lansat ca serviciu, serverul MySQL poate fi oprit oricand cu utilitarul Services, cu comanda NET STOP MySQL, sau folosind utilitarul mysqladmin (cu comanda aratata mai sus). De asemenea, serverul este oprit automat la oprirea (shutdown) sistemului de operare. La versiunile de server MySQL anterioare versiunii 3.23.47, in Windows NT (nu si in Windows 2000/XP) pot sa apara unele probleme daca sistemul de operare nu asteapta oprirea serviciului (care poate dura cateva secunde) si il distruge fortat (kill).

Daca nu se doreste functionarea ca serviciu a serverului MySQL, acesta poate fi lansat ca program executabil cu comanda:

C:mysqlbin>mysqld-max-nt –standalone

Dupa ce serverul MySQL a fost pornit, se pot executa diferite programe client de acces la baza de date, dintre care unele pot fi programe utilitare continute in kit-ul de distributie si instalate odata cu instalarea serverului iar altele pot fi programe de aplicatii dezvoltate pentru o anumita functionalitate.

Programele utilitare din kit-ul de distributie (mysqladmin, mysqlshow, mysql, etc.) sunt folosite pentru administrarea bazei de date, pentru testare, pentru importul sau exportul bazelor de date, etc. Acestea se gasesc in subdirectorul bin al sirectorului mysql unde s-a facul instalarea (…mysqlbin). Daca se include acest subdirector in calea sistemului (path), atunci lansarea diferitelor toolset-uri se face mai simplu, direct cu numele acestora din orice director.

Programul mysqladmin permite administrarea bazei de date: pornirea si oprirea serverului, crearea de noi utilizatori ai bazei de date, stabilirea parolelor acestora, a drepturilor de acces, etc.


Programul mysqlshow afiseaza informatii despre bazele de date existente; daca se executa mysqlshow imediat dupa instalarea si pornirea serverului MySQL, acesta va afisa numele celor doua baze de date care se creeaza automat la instalare: mysql si test.

Serverul MySQL poate gestiona simultan mai multe baze de date accesate de mai multi utilizatori. Dintre bazele de date gestionate de serverul MySQL, baza de date mysql este creata implicit la instalarea serverului (in sistemul de operare Windows) si este formata din mai multe tabele care contin informatii despre starea curenta a serverului: numele bazelor de date existente, numele calculatoarelor gazda (host), numele utilizatorilor, drepturile utilizatorilor asupra tabelelor si a coloanelor. Operatiile de creare (stergere) a bazelor de date, creare (stergere) a utilizatorilor, schimbarea drepturilor de acces se pot face modificand continutul tabelelor bazei de date mysql. Unele din aceste operatii pot fi efectuate si prin intermediul unor programe utilitare (mysqladmin sau wsmysqladmin).

Utilizatorii serverului MySQL sunt identificati prin numele utilizatorului (user) si, optional, printr-o parola (password). Desi se accepta utilizatori fara parola, este recomandabil sa se introduca parola pentru toti utilizatorii, pentru a proteja datele memorate in bazele de date. Utilizatorii serverului MySQL nu sunt identici cu utilizatorii sistemului de operare (Windows sau Linux) si trebuie sa fie creati dupa instalarea si pornirea serverului. Drepturile de acces ale utilizatorilor se stabilesc dupa crearea acestora prin comenzi SQL. Utilizatorul root, creat implicit la instalarea serverul MySQL are toate drepturile de creare si modificare a bazelor de date.

De asemenea, dupa instalarea serverului MySQL in Windows, toti utilizatorii locali au drepturi de acces complete la toate bazele de date, fara specificarea unei parole de acces. Pentru a asigura o mai mare securitate, dupa instalarea si pornirea serverului, administatorul bazei de date va limita drepturile de acces ale utilizatorilor, conform cerintelor de functionare a bazei de date. Prima actiune este de a elimina dreptul de acces al unui utilizator oarecare (utilizator anonim) la baza de date test, prin urmatoarele comenzi (care vor fi explicate pe parcursul lucrarilor):

C:mysqlbin>mysql mysql

mysql> DELETE FROM user WHERE Host='localhost' AND User='';

mysql> QUIT

C:mysqlbin>mysqladmin reload

Dupa acesta, se va introduce o parola pentru utilizatorul de administrare (root) cu comanda:

C:mysqlbin>mysqladmin -u root password parola_administrator

Din acest moment, la orice acces al utilizatorului root va trebui sa fie introdusa parola setata.


Utilitarul mysql este un program client care permite lucrul interactiv cu serverul MySQL prin intermediul mai multor comenzi, dintre care majoritatea sunt comenzi in limbajul SQL, iar celelalte sunt comenzi utilitare. Exemple de comenzi utilitare: comanda help (care listeaza comenzile disponibile), comanda use (prin care una din bazele de date gestionate de server este setata ca baza de date curenta), comanda describe (care afiseaza informatii despre atributele unui tabel), etc. Utilitarul mysql se mai numeste si monitor si permite crearea unor mici aplicatii interactive sau de testare a bazelor de date.

Lansarea programului mysql si conectarea la serverul MySQL se poate face specificand numele utilizatorului,  parola si numele bazei de date:

mysql --user=nume_utilizator --password=parola_utilizator nume_baza_date

In aceasta forma a comenzii parola se afiseaza clar, de aceea este preferabila o alta forma (sintaxa) a comenzii de conectare a unui utilizator la serverl MySQL prin intermediul utilitarului mysql:

mysql -u nume_utilizator -p nume_baza_date

Dupa aceasta comanda la consola apare invitatia de introducere a parolei (Enter password:), dupa care parola introdusa nu mai este afisata clar (ci cu semne asterix).

Dupa lansarea monitorului mysql, se pot introduce comenzi in linia de comanda, care sunt transmise serverului, iar rezultatul obtinut poate fi afisat in ferestra de afisare sau scris intr-un fisier de redirectare. Comanda quit inchide conexiunea utilizatorului la serverul MySQL si monitorul mysql.


Crearea bazelor de date si a utilizatorilor MySQL


Crearea unei noi baze de date se face din monitorul mysql de catre un utilizator cu drepturi de creare baze de date  folosind comanda:

mysql> CREATE DATABASE nume_baza_date;

Aceasta comanda se poate executa de catre utilizatorul root, care are toate drepturile (inclusiv dreptul de creare a bazelor de date). Bineinteles, pentru a da comanda de mai sus, utilizatorul root trebuie mai intai sa se conecteze si sa-si introduca parola. Dupa crearea unei baze de date, se atribue drepturi de acces unor anumiti utilizatori, care vor crea tabelele si vor opera cu acestea. Orice utilizator pate afla numele tuturor bazelor de date gestionate de serverul MySQL folosind comanda:

mysql> SHOW DATABASES;

Crearea unor noi utilizatori se poate face in doua moduri: prin comanda GRANT sau inscriind direct linii in tabela user a bazei de date mysql. In ambele situatii, utilizatorul care da comenzile trebuie sa aiba drepturi de creare (de regula, se foloseste utilizatorul root). Prin comanda:

mysql> GRANT  ALL PRIVILEGES ON nume_baza_date.* TO nume_user@nume_host

->IDENTIFIED BY 'parola_user';

se creaza utilizatorul cu numele nume_user si parola parola_user care are drepturile (privilegiile) SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCE, INDEX, ALTER  asupra bazei de date nume_baza_date. Aceasta operatie produce crearea utilizatorului prin adaugarea unei linii noi in tabela user a bazei de date mysql si a drepturilor (privilegiilor) de acces la baza de date specificata prin adaugarea unei linii in tabela db din baza de date mysql. Acest utilizator nu are drepturi de acces la nici-o alta baza de date si nici dreptul GRANT (de creare a altor utilizatori).

Alternativ, aceeasi operatie de creare a utilizatorului cu numele nume_user si de acordare a drepturilor listate mai sus asupra bazei de date nume_baza_date se poate face (tot de catre utilizatorul root) folosind operatiile de inscriere directa in tabele bazei de date mysql astfel:

mysql> INSERT INTO user (Host, User, Password)

->VALUES ('localhost', 'nume_user', PASSWORD('parola_user'));

mysql> INSERT INTO db

->VALUES ('localhost', 'nume_baza_date', 'nume_user', '

->Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y');

mysql> FLUSH PRIVILEGES;

mysql> QUIT;

De remarcat faptul ca parola se introduce folosind functia PASSWORD( ) care cripteaza sirul de caractere introdus ca argument. Comanda FLUSH PRIVILEGES trebuie introdusa pentru ca drepturile acordate utilizatorului sa fie efective (trebuie ca serverul sa reincarce tabela de drepturi). Dupa crearea unei baze de date si a utilizatorului acesteia, utilizatorul root se poate deconecta (cu comanda quit) si noul utilizator creat poate sa se conecteze la serverul MySQL prin monitorul mysql, folosind propiul nume si parola.

Semnificatia acestor instructiuni SQL va fi inteleasa mai bine pe parcurs. In acest stadiu ele au fost prezentate pentru ca fiecare student sa poata instala propriul server MySQL si sa porneasca lucrul cu acesta, ceea ce ii va facilita intelegerea operatiilor cu bazele de date. Detalii privind administrarea bazelor de date MySQL se gasesc in manualul de referinta.

Exemplele din aceasta lucrare vor fi efectuate in sistemul de gestiune MySQL, fiecare student folosind un nume de utilizator si o parola create in prealabil si comunicate de administatorul bazei de date, pentru a se conecta la serverul MySQL prin monitorul mysql.





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright