4.3.4. Specificarea privilegiilor inițiale MySQL
După instalarea privilegiile inițiale de acces MySQL sunt definite folosind scripturi / mysql_install_db. Consultați secțiunea 2.3.1, "Prezentare rapidă a instalării". Scriptul mysql_install_db rulează serverul mysqld. și apoi inițializează tabelele de granturi pentru privilegii cu următorul set de privilegii:
Ca superuser, MySQL este creat ca root, care poate face orice. Conexiunile trebuie să fie instalate de la computerul local.
Notă. Inițial, parola de root este goală, astfel încât oricine se poate conecta ca root fără o parolă și să obțină toate beneficiile.
Se creează un utilizator anonim care poate efectua orice operațiuni pe baze de date cu testul de nume sau începând cu test_. Conexiunile trebuie să fie instalate de la computerul local. Aceasta înseamnă că orice utilizator local se poate conecta fără o parolă și va fi perceput de server ca un utilizator anonim.
Alte privilegii sunt interzise. De exemplu, un utilizator normal nu poate folosi comenzile mysqladmin shutdown sau mysqladmin processlist.
Notă. În Windows, privilegiile implicite sunt diferite de cele specificate. Vezi secțiunea 2.6.2.3, "Utilizarea MySQL pe un mediu Windows".
De îndată ce programul de instalare nu a protejat, primul pas este de a stabili o parolă pentru MySQL root. Acest lucru se poate face după cum urmează (rețineți că parola este indicată de funcția PASSWORD ()):
Utilizatorii experimentați pot lucra direct cu tabelele de atribuire a privilegiilor:
Un alt mod de a seta o parolă este de a folosi comanda mysqladmin.
Schimbarea parolelor altor utilizatori poate avea doar utilizatorii cu drept de a scrie / actualiza baza de date mysql. Toți utilizatorii obișnuiți (nu utilizatori anonimi) pot modifica numai parola proprie utilizând comenzile de mai sus sau comanda SET PASSWORD = PASSWORD ('new_password').
Rețineți că dacă parola din tabela de utilizator este actualizată direct utilizând prima metodă, trebuie să îi spuneți serverului să repornească tabelele de privilegii (folosind comanda FLUX PRIVILEGES), altfel modificările nu vor fi luate în considerare.
După ce ați setat parola root. Această parolă va trebui introdusă prin conectarea la server ca root.
Puteți lăsa parola rădăcină necompletată, atunci nu trebuie să o specificați în timpul setărilor și testelor suplimentare. Cu toate acestea, asigurați-vă că ați specificat-o înainte de a utiliza serverul pentru orice lucrare reală.
Citiți script-urile script / mysql_install_db. Pentru a vedea cum să setați privilegiile implicite. Acest script poate fi folosit ca bază pentru adăugarea altor utilizatori.
Dacă doriți ca privilegiile inițiale să fie diferite de cele de mai sus, puteți modifica baza de date mysql_install_db înainte de a începe.
Pentru a re-crea complet tabelele de granturi, ștergeți toate fișierele cu extensii .frm. MYI și .MYD în directorul în care este localizată baza de date mysql (acesta este directorul numit mysql în directorul bază de date care este afișat când se execută comanda mysqld --help). Apoi rulați scriptul mysql_install_db (probabil după ce ați adăugat privilegiile necesare).
Notă. În versiunile mai vechi ale MySQL decât versiunile 3.22.10, fișierele cu extensia .frm nu ar trebui să fie șterse. Dacă au fost șterse accidental, ar trebui să fie restaurate prin copierea acestora din distribuția MySQL înainte de a rula mysql_install_db.