Baze de date Mysql

Baze de date: MySQL

MySQL - administratori "verzi"

Astfel, în prezent „laboratorul“ va avea nevoie de: un calculator, de fapt, el însuși serverul de baze de date MySQL, eticheta consola la îndemână (de fapt, ar trebui să fie întotdeauna la îndemână: chiar experiența utilizatorului sub cmd, și konsolki lucru considerabil inferioare în Linux, dar o mulțime de lucruri pot fi făcute din consola mai repede decât urcarea prin 3-5 meniuri pentru opțiunea dorită). Multe lucruri se vor face prin consola. Desigur, există multe programe "orientate spre server" concepute pentru a gestiona serverul, dar pentru a considera că oricare dintre ele nu are sens. Dacă cunoașteți comenzile de bază, utilizarea MySQL în aplicațiile web va fi nu numai ușoară, ci și foarte ușoară! Instalați MySQL. Vom instala și utiliza serverul MySQL 3.23.38. De ce am nevoie de SQL? La prima vedere, pentru a crea un site mai mult sau mai puțin decente nu are nevoie de clopote speciale și fluiere (ce ia în considerare unele PHP și SQL), dar chiar și un simplu log-contra, după câteva mii de alte „revoluții“ nu te va arata interesant. În cazul în care un contor de jurnal pentru a scrie numai ora, data, IP și numele de vizitator al calculatorului, apoi conectați câteva mii de linii de nu numai trăgând de fiecare dată când se plictisesc cu serverul, dar, de asemenea, a se vedea rapid cine a fost, să zicem, în noaptea de joi spre vineri pe dumneavoastră, cu siguranță, un loc minunat, va fi foarte dificil. Un forum pentru a scrie doar, de exemplu, PHP nu este doar dificil, ci și "neplăcut".







Tabelele columns_priv, privilegiile utilizatorului tables_priv stocate pentru a accesa, respectiv, la coloanele și tabelele în PB - privilegii pentru a accesa baza de date în gazdă - informații despre calculatoarele care sunt conectate Gaseste subiecte Gaseste subiecte la MySQL, și în cele din urmă, în tabelul de utilizator este stocat informații despre utilizatori.
Informații mai detaliate pot fi obținute din manualul care se află în pachetul de instalare (după instalare se află în mysql / Docs). Acesta este un document aproape de doi metri, în care este scris aproape tot ceea ce trebuie să știți la început, și nu numai pe primul :-). Suntem interesați de modul în care juzverej schimbare cu datele de conectare de root (cei care sunt familiarizați cu * Nux, știu ce este, iar pentru restul am explica: super-utilizator cu drepturi nelimitate), precum și a face juzverej, de sub al cărui nume vom lucra cu server. În mod ideal, ar trebui să existe un singur utilizator. Alți utilizatori ar trebui să aibă drepturi limitate (principiul principal al administrației - ceea ce nu este permis, este interzis). Problema este că, implicit, superuserul nu are o parolă. Și dacă, de exemplu, aduceți în baza dvs. de date câteva informații extrem de secrete, puteți să le vedeți, să le ștergeți, să le schimbați :-). Deci, am instalat serverul, începem administrarea. Găsim directorul în care am instalat serverul nostru (în mod implicit acesta este C: \ mysql). Găsim directorul C: \ mysql \ bin și vedem o mulțime de "executabile". Mai întâi avem nevoie de mysql.exe. Run. Da, puteți vedea opțiunile de lansare din consola scriind ceva asemănător

după care se va afișa un ajutor. Dar până când au nevoie de noi. Toate comenzile sql sunt introduse în linia de comandă și ar trebui să fie terminate cu ";" sau "\ g". Pentru a utiliza baza de date, trebuie mai întâi să o selectați. Pentru aceasta, există comanda USE. Avem nevoie de baza de date MySQL:

Pentru a vedea care sunt bazele de date disponibile pe server, există o comandă:

unde databaseName este numele bazei de date. Să vedem cine este pe serverul nostru. Noi scriem

apoi obțineți o listă de utilizatori cu numele computerelor de la care se pot conecta la server. Înainte de a începe să experimentați cu drepturi de acces la baze de date, vă sfătuiesc să copiați folderul mysql (cu fișierele bazei de date corespunzătoare) undeva la o locație îndepărtată, astfel încât, dacă ceva nu funcționează, puteți reveni.

Comanda SELECT este una dintre cele mai frecvent utilizate comenzi. Cu ajutorul său, putem arăta ce date suntem interesați și le cerem să le aducă pe ecran. Sintaxa este:

În loc de "interesting_columns_in_table" puteți pune "*", apoi vom obține valorile tuturor coloanelor care sunt prezente în tabel. Cel mai adesea, în loc de "<параметры>"ei scriu încă un cuvânt cheie - WHERE. Sintaxa este:

Deci, acum scriem:

unde NEWpassword este noua parolă pentru superuser. Apropo, în acest fel puteți schimba parola pentru orice limbă. Voi explica pe scurt ce înseamnă aceste comenzi. Funcția PASSWORD ("șir") criptează șirul cu un algoritm specific, iar comanda UPDATE modifică valoarea clasei WHERE (unde) în tabelul de utilizatori. Apropo, toate parolele din MySQL sunt stocate într-o formă criptată.
Acum trebuie să împiedicăm conectarea superuserului de la calculatoarele la distanță. Pentru a face acest lucru, ștergeți liniile cu semnul "%". Scrieți "DE-LETE FROM user WHERE Host = '%';". Comanda DELETE are o sintaxă similară cu comanda SELECT:

Vedem numele serviciului "MySql". Ieșiți din WMIC:

Opriți acum serviciul

și începeți din nou:

Te întrebi de ce spun asta? Unul dintre motive este că puteți opri și începe orice alte servicii în același mod. Și al doilea. Imaginați-vă că aveți un server MySQL undeva în rețeaua locală, iar calculatorul dvs. se află într-o altă clădire și trebuie să o reconfigurați imediat. Fugiți la server și trăiți-l? Ei bine, amândoi vă doriți și eu sunt personal leneș. Conectați-vă la server și administrați de la distanță :-). Apropo, mysql.exe, pe care am folosit-o pentru conectarea la server (exact ceea ce am făcut), poate funcționa cu un server de la distanță. Este ușor de văzut executând mysql.exe astfel:







Vi se va cere să introduceți parola de root, pe care am cerut-o mai sus. Dacă totul merge bine, apare promptul "mysql>", ca și înainte. Încercați acum să creați un alt juzverej. Acest lucru se face astfel. Creați trei uși cu drepturi diferite:

Apropo, dacă dați comanda "mysql> status", serverul vă va oferi câteva informații utile. Deci, am creat trei juzverejite. Primul - ferst - obține toate drepturile și se poate conecta la server atât de la computerul local și de la distanță, parola pentru accesarea acestuia este atribuită la sam_pass. Cel de-al doilea utilizator, admin, are drepturi de reîncărcare și reîmprospătare, dar se poate conecta numai de la computerul local (adică pictograma "%"), parola pentru autentificare nu este atribuită. Cel de-al treilea utilizator numit doom se poate conecta de la computerul local și este creat, ca să spunem așa, "fără putere", adică nu i se acordă toate privilegiile globale. Același lucru se poate face diferit. De exemplu, astfel:

Probabil, este necesar să explicăm ce înseamnă asta. Comanda INSERT introduce o linie în tabel, numele căruia urmează după cuvântul INTO, numele coloanelor disponibile în aceste tabele sunt date în paranteze. După VALOARE, se introduc valorile, care sunt înregistrate în coloanele corespunzătoare. Valorile trebuie incluse în ghilimele. Ultima comandă actualizează drepturile de acces. Scrisoarea "Y" înseamnă includerea privilegiului corespunzător, "N" înseamnă închiderea. Tabelul utilizator are următoarele coloane (date în aceeași ordine ca și în realitate):

Cred că acest tabel nu are nevoie de explicații. Numele vorbitorilor vorbește de la sine (dacă, desigur, cunoașteți engleza, ca mine - la nivelul clasei a Va, cel puțin :-)). Firește, dacă în comenzile precedente literele "Y" sunt înlocuite cu "N", utilizatorul corespunzător al dreptului corespunzător nu va primi :-). Acum, să vedem cum puteți modifica drepturile utilizatorilor la conectarea la baza de date. Pentru aceasta, există comanda GRANT.

Voi explica ce fac aceste echipe. După ce comanda GRANT urmează lista de privilegii care trebuie furnizate personalizate. După ce cuvântul ON este numele bazei de date, după punctul puteți specifica un tabel specific în această bază de date, iar asteriscul înseamnă "orice". Și după cuvântul TO este numele denumirii @ numele computerului de la care se poate conecta acest utilizator. Semnul procentual înseamnă "orice computer". După cuvintele IDENTIFICATE, trebuie să specificați în ghilimele parola care va fi necesară la autentificare. În acest caz este "prost". Desigur, un rezultat similar poate fi obținut prin modificarea directă a tabelului utilizatorilor. De exemplu, astfel:

Cred că este clar ce face această echipă. Acesta introduce în tabelul utilizator o intrare cu valori în coloanele care sunt scrise după cuvântul VALUES. O modificare corespunzătoare a acestei comenzi poate avea aceleași rezultate ca și utilizarea comenzilor prezentate mai sus. Și nu uitați după ce faceți schimbările, dați comanda FLUX PRIVILEGES; Acum, după ce ați creat utilizatorii cu succes, vom trece la o parte mai interesantă - crearea unei baze de date. Pentru a crea o bază de date, trebuie să executați programul mysqladmin.exe din același director ca și programul mysql.exe. Dacă rulați acest program pur și simplu fără opțiuni, acesta vă va oferi o listă de parametri de pornire. De fapt, toată utilizarea acestui program este redusă la rularea cu opțiunile corespunzătoare. Așadar, suntem în primul rând interesați de crearea și ștergerea bazelor de date, precum și de conectarea prin intermediul unui login și a unei parole la un server de la distanță (lenea este cu adevărat un motor de progres!). Ne conectăm la numele de gazdă al serverului de la distanță folosind parola de conectare rădăcină, la care vom fi întrebați după. În loc de opțiuni este necesar să scriem ce vrem să facem. Crearea unei baze de date numită database_name:

Ștergerea bazei de date database_name după confirmarea și introducerea parolei:

Există și alți parametri de pornire, pe care nu ne vom opri în mod special, deși nu mai puțin importanți. Informațiile despre ele ajung, așa cum ți-am spus, să ruleze mysqladmin fără opțiuni. Așadar, am creat o bază de date. Acum trebuie să creați tabele, în care, de fapt, datele vor fi stocate. Orice tabel ar trebui să se refere la o bază de date. Deci, rulați mysql.exe și selectați baza de date nou creată "mysql> use database_name" Comanda CREATE există pentru a crea tabela. Sintaxa este:

unde table_name este numele tabelului, urmat de numele coloanei și de tipul acesteia în paranteze. Desigur, pot exista mai multe coloane decât două. Numerele din coloane arată dimensiunea valorii din coloană. Ei bine, pentru a șterge tabelul, în consecință, este necesar să scrieți:

Aceste comenzi selectează baza de date curentă de testare și creează un tabel numit table_name cu două coloane. Prima coloană are atributul Extra "auto_increment". Aceasta înseamnă că atunci când adăugați o intrare la acest tabel, valoarea (numărul) din această coloană va crește automat cu una. Puteți vedea proprietățile coloanelor din tabel, după cum urmează (prin emiterea comenzii corespunzătoare):

Acum, haideți să atingem celelalte tipuri de date. Numerică. Există o mulțime de ele, cele mai importante sunt (în opinia mea) INT și FLOAT. Cei care sunt familiarizați cel puțin puțin cu limbajul de programare C ++ vor înțelege imediat că primul este un tip de date întreg. FLOAT este un tip de date utilizat pentru stocarea numerelor în virgulă mobilă. Datele de date și de date. Acestea includ DATE, TIME, YEAR și altele. format de stocare a datelor în tipul de date - „AAAA-LL-ZZ“, în tipul TIME - „HH: MM: SS“, în anul stil - „AAAA“. Și aproape tipul principal de date este CHAR. Tipurile de texte includ, de asemenea, TEXT (maximum 65535 de caractere) și altele.

transferați numele fișierului "File_name" și acest fișier va fi executat. Ce este? Este doar o listă secvențială de comenzi SQL. Acum rămâne să generăm doar un astfel de fișier, care se face în moduri diferite în fiecare caz - trebuie să ne uităm la situația de aici. Desigur, puteți merge mai departe și puteți scrie un program pentru introducerea automată a datelor în baza de date. Dar pentru sarcini simple, puteți să copiați pur și simplu un fișier text cu comenzile scrise în el în tampon și să îl lipiți în prompta MySQL. "Intrările" vor fi percepute ca un semn al finalizării echipei. Doar nu uitați să puneți la sfârșitul fiecărei linii ";", deoarece în mysql.exe pot fi introduse comenzi și în modul multiline, astfel încât pot exista suprapuneri. Este adevărat că există un mod alternativ. Dacă aveți un fișier text cu înregistrările într-un tabel, iar acestea sunt în ea separate prin virgule și semne linia de capăt sau alte caractere (atunci ar trebui să facă modificări la parametrii următoarele comenzi, înlocuind „\ n“ virgula și la semnele corespunzătoare ), puteți utiliza comanda

Rezultatul acestei comenzi ar trebui să fie un tabel. În câmpurile de fișier trebuie să fie separate prin virgule și fiecare intrare începe cu o linie nouă. Este necesar să ne amintim de asemenea despre acest lucru, cum ar fi codarea. În cazul în care toate datele sunt introduse prin intermediul consolei, acestea vor fi stocate în DOS-codificare, și derivarea unor astfel de date - de exemplu, dacă utilizați PHP într-o pagină HTML - veți vedea „Abracadabra“. Pentru a preveni acest lucru, introduceți date într-o singură codificare sau să le re-coda cu ajutorul unor funcții speciale (pentru PHP este o funcție $ text_after = convert_cyr_string ($ text, „w“, „d“), în cazul în care ultimii doi parametri, respectiv, indică faptul că codificarea inițială este Windows, iar codarea finală este DOS). Și în cele din urmă. Este mult mai plăcut să lucrezi cu consola, atât de neplăcută, dacă faci ceva de genul acesta: pentru că oamenii ignoranți acționează destul de ciudat :-).







Articole similare

Trimiteți-le prietenilor: