Tutorial pas cu pas în care înveți cum recuperezi parola pentru user root a unui server SQL.
Cel mai important user al unui server MySQL este cu siguranță user-ul “root“. Acest user are toate privilegiile administrative pentru bazele de date (MySQL databases).
În cazul în care nu mai știi care este parola user-ul root al MySQL, va trebui să urmezi câțiva pași simpli pentru a reseta această parolă.
Tutorialul este facut pentru un server MySQL instalat pe sistem de operare CentOS, însă procesul este același și pentru alte distribuții Linux.
Cum recuperezi parola pentru user root a unui server SQL
Ca să recuperezi parola pentru user root a unui server SQL, cea mai simplă metodă este prin SSH (Secure Shell).
1. Ne logam cu user-ul “root” la sistemul pe care este serverul de MySQL. (user-ul root al sistemului, nu al serverului MySQL). Logare direct din consolă sau de la distanță prin conexiune ssh (cu putty de pe sistemele Windows).
2. Oprim procesul / serverul MySQL.
service mysqld stop
sau
/etc/init.d/mysqld stop
Rezultatul va fi :
Stopping MySQL: [ OK ]
3. Pornim serverul MySQL cu opțiunea “--skip-grant-tables
“. Pornirea MySQL server/daemon proces fară parolă.
mysqld_safe --skip-grant-tables &
Rezultatul după linia de comandă de mai sus:
[1] 3041
[root@server ~]# Starting mysqld daemon with databases from /var/lib/mysql
4. Ne conectăm la serverul mysql cu user-ul “root“, folosing comanda:
mysql -u root
Rezultatul comenzii:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
5. Selectăm baza mysql și setăm noua parolă pentru user-ul “root“.
use mysql;
update user set password=PASSWORD("New_Password") where User='root';
flush privileges;
quit
Rezultate în urma comenzilor de mai sus:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=PASSWORD("123456") where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
[root@server ~]#
6. Oprim și repornim serviciul / serverul MySQL
service mysqld stop
service mysqld start
Rezultat:
Starting MySQL: [ OK ]
În imaginea de mai jos este arătat tot procesul de resetare a parolei user-ului “root” al serverului MySQL.
Acum ne putem conecta la MySQL (prin phpMyAdmin de ex.) cu user-ul “root”, folosind noua parolă setată mai sus.
Tutorial testat pe CentOS 5.6 cu MySQL Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1.