Samouczek krok po kroku, aby dowiedzieć się, jak odzyskać hasło roota serwera SQL.
Najważniejszym użytkownika serwera MySQL jest zdecydowanie użytkownikiem”root". Ten użytkownik ma wszystko przywileje administracyjne dla baz danych (MySQL databases).
Jeśli nie wiesz już, jakie jest hasło użytkownika root MySQL, musisz wykonać kilka prostych kroków, aby zresetować to hasło.
Poradnik jest zrobiony na serwer MySQL zainstalowany w systemie operacyjnym CentOS, ale proces jest taki sam dla innych dystrybucji Linux.
Jak odzyskać hasło dla użytkownika root serwera SQL
Aby odzyskać hasło dla użytkownika root serwera SQL, najprostszą metodą jest SSH (Secure Shell).
1. Logujemy się z użytkownikiem "root” do systemu, na którym znajduje się serwer MySQL. (użytkownik root systemu, a nie serwera MySQL). Zaloguj się bezpośrednio z konsoli lub zdalnie przez połączenie ssh (Z kit z systemów Windows).
2. Zatrzymaj proces / MySQL.
service mysqld stop
lub
/etc/init.d/mysqld stop
Wynik będzie:
Stopping MySQL: [ OK ]
3. Uruchamiamy serwer MySQL z opcją „--skip-grant-tables
". Uruchamianie serwera MySQL/daemon proces bez hasła.
mysqld_safe --skip-grant-tables &
Dane wyjściowe po powyższym wierszu poleceń:
[1] 3041
[root@server ~]# Starting mysqld daemon with databases from /var/lib/mysql
4. Łączymy się z serwerem mysql z użytkownikiem „root", używając polecenia:
mysql -u root
Wyjście:
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. Wybierz bazę danych mysql i ustaw nowe hasło dla użytkownika "root".
use mysql;
update user set password=PASSWORD("New_Password") where User='root';
flush privileges;
quit
Wyniki z powyższych poleceń:
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. Zatrzymujemy i restartujemy usługę/serwer MySQL
service mysqld stop
service mysqld start
Wynik:
Starting MySQL: [ OK ]
Poniższe zdjęcie pokazuje wszystko proces resetowania hasła użytkownika"root” serwera MySQL.
Teraz możemy połączyć się z MySQL (przez phpMyAdmin np.) z użytkownikiem „root”, używając nowego hasła ustawionego powyżej.
testowane Tutorial CentOS 5.6 z MySQL Ver 14.12 Distrib 5.0.77, dla redhat-linux-gnu (i686) przy użyciu readline 5.1.