Resetovanje root passworda za mysql

Koliko puta vam se desilo da zaboravite root password za mysql server ? Nijednom ? Smatrajte se srećnikom.

Evo lepog načina da se resetuje root password bez reinstalacije mysql-a. Naravno, podrazumevam da imate root privilegije na samom sistemu, bez toga ovo neće raditi.

Ako je server podignut, spustite ga:

/etc/rc.d/mysql stop

Zatim ga podignite na sledeći način:

/usr/bin/mysqld_safe --skip-grant-tables &

–skip-grant-tables flag isključuje sistem privilegija, tako da svako može da se konektuje na sistem, bez passworda. Sada je potrebno da se ulogujete sa vašim klijentom i da setujete nov root password:

# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 44 to server version: 4.0.15
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql;
Database changed
mysql>update user set password = password('novirootivpass') where user = 'root';
mysql>flush privileges;

I to je to. Ubijte server koristeći mysqladmin shutdown k-du, a zatim ga normalno podignite uobičajenim init scriptom, npr: /etc/rc.d/mysql start.

Comments

  1. zderavko
    August 12th, 2005 | 10:18

    Cao,

    Lep blog, svaka cast. Zanima me da li se moze kako videti stari root password, tj postojeci ako je zaboravljen?

  2. August 12th, 2005 | 10:32

    Moze se videti kriptovana verzija koja se nalazi u mysql tabeli. Do verzije mysql-a 4.1 imala je 16 karaktera, a od 4.1 41 karakter. Npr:

    > select password from mysql.user where user=’root’;

    *43c8aa34cdc98eddd3de1fe9a9c2c2a9f92bb2098d75

    Koliko znam ne postoji nacin da je dekriptujes nazad. Jedini nacin bi bio da probas da pretpostavis pass raznim kombinacijama tipa:

    select count(*) from mysql.user where user=’root’ and password(’passkombinacija’)= password;

Leave a reply