Zaboravljena MySQL root lozinka

Baza podatakaNedavno smo na helpdesku pomogli korisniku koji je zaboravio administratorsku (root@localhost) lozinku za MySQL. Rješenje problema je da se MySQL pokrene bez tzv. GRANT tablica, odnosno da se zaobiđu tablice s dozvolama. To se radi opcijom --skip-grant-tables.

Prvo zaustavimo MySQL:

# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld

Zatim ga dignemo bez GRANT tablica, slijedećom naredbom:

# mysqld_safe --skip-grant-tables &
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[7754]: started

Sada možemo pristupiti MySQL poslužitelju bez autentikacije, te izvršimo naredbe:

mysql -e "UPDATE mysql.user SET Password = PASSWORD('novipassword') 
WHERE User = 'root'"
mysql -e "FLUSH PRIVILEGES;"

Još nam ostaje restart MySQL-a:

# /etc/init.d/mysql restart
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[8310]: ended
Starting MySQL database server: mysqld.
Checking for crashed MySQL tables in the background.

Provjerimo da li je sve u redu:

mysql -e "select now();" -p 
Enter password:
+---------------------+
| now() |
+---------------------+
| 2006-01-27 19:37:09 |
+---------------------+

I to je to!

Kuharice: 
Kategorije: 
Vote: 
0
No votes yet