Schimbarea (uitat) MySQL parola de utilizator de pe linia de comandă Linux

Sarcina este destul de clar și este descris de zeci de ori în altă parte, dar am decis să fac un ghid pentru ei înșiși pe exemplul Ubuntu 14.04. Voi începe cu cazul cel mai complicat - schimbare uitat parola de root.







Cazul 1. Este necesar să se recupereze o parola de root uitată.

Logon ca root. Opriți serverul MySQL în cazul în care se execută. Acest lucru se poate face fie prin comanda de serviciu:

# Serviciu de oprire MySQL

sau comandă de oprire:

Ultima comandă este convenabil din cauza dublei tabu după oprire, puteți vedea o listă de a rula în prezent server: MySQL dacă înregistrarea nu este printre ei, înseamnă că serverul MySQL nu se execută și nu există nimic pentru a opri.

Acum, rulați MySQL server, în opțiunea safe-mode # 045; # 045; skip-grant-tabele:

# Mysqld_safe --skip-grant-mese
[1] 2515
# 151111 13:31:50 mysqld_safe Nu mă pot conecta la jurnalul de erori și syslog în același timp. Eliminați toate opțiunile de configurare --log-eroare pentru --syslog să aibă efect.
151111 13:31:50 mysqld_safe Logarea la '/var/log/mysql/error.log'.
151111 13:31:51 mysqld_safe Pornirea mysqld daemon cu baze de date de la / var / lib / mysql

După apăsarea tastei Enter și a vedea rezultatele comenzii vom intra în modul de așteptare, pe care le puteți obține prin apăsarea Enter. Astfel, vom lansa serverul în fundal (ampersand capăt al liniei) și înapoi în consolă.

În exemplul de mai sus, serverul se plânge că nu poate scrie simultan în propria error.log și syslog. Acesta poate fi ignorat, sau punctul de la pornire # 045; # 045; skip-syslog.







Dacă ați uitat să pună un ampersand la capătul liniei, serverul va rula în modul de prim-plan și prin apăsarea Enter, nu puteți merge înapoi la consolă. Pentru server pentru fundal (background) și a reveni consola să apăsați pe Ctrl-Z.

Va verifica starea serverului:

# Pgrep -l mysql
2515 mysqld_safe
2875 mysqld

Aici mysqld daemon rulează ca un proces mysqld_safe copil.

Acum ne putem conecta la serverul MySQL sub rădăcină-ohm fără o parolă:

# Mysql -uroot
Bine ați venit la monitor MySQL. Comenzile se încheie cu; sau \ g.
.
De tip „ajutor;“ sau „\ h“ pentru ajutor. „\ C“ de tip pentru a șterge declarația de intrare curentă.
mysql>

Du-te la baza de date sub numele de «mysql», în cazul în care datele sunt stocate despre fiecare utilizator:

mysql> utilizarea mysql;
Citirea informațiilor de masă pentru completarea numele tabelelor și coloanelor
Puteți dezactiva această funcție pentru a obține o pornire mai repede cu -A

Baza de date a schimbat
mysql>

Setați o parolă nouă pentru root, actualiza datele de conectare și ieșirea din sesiune:

mysql> utilizator actualizare setată parola = parola ( "xxxxxxxxx"), în cazul în care user = 'root';
Query OK, 4 rânduri afectate (0.00 sec)
Rânduri potrivire: 4 Ultima actualizare: 4 Avertismente: 0

mysql> privilegii la același nivel;
Query OK, 0 randuri afectate (0.00 sec)

mysql> quit
Pa

Acum aveți nevoie pentru a ieși din modul de siguranță și reporniți serverul MySQL ca de obicei. Nu am putut face acest lucru prin mijloace tradiționale Ubuntu folosind comanda de serviciu și a opri, așa că am ucide procese prin intermediul semnalelor terminale:

# Killall -9 mysqld_safe mysqld
[1] + mysqld_safe Killed --skip-grant mese
# Start MySQL

In concluzie, radacina poate schimba uitat utilizatorul parola normală, în același mod, dar este suficient și modul standard de operare MySQL server.

Cazul 2. Parola MySQL este cunoscută, dar trebuie să fie schimbat.

Acesta este cel mai simplu caz, pentru care, în special, cu condiția de utilitate mysqladmin. Sintaxa pentru o comandă cu o singură linie pentru a schimba parola curentă de utilizator următorul Anton:

# Mysqladmin -u anton -p current_pass parola new_pass

# Mysqladmin -uanton -pcurrent_pass parola new_pass