Reset hasła roota w MySQL

Na początek sprawdzamy jaką werjsę MySQL posiadamy:

mysql --version

Nasz poradnik dotyczy wersji (i prawdopodobnie starszych):

mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64)

Podczas zmieniania hasła normalną drogą (masa poradników w sieci) natrafiliśmy m.in. na takie problemy:

'/var/run/mysqld' for UNIX socket file don't exists

Poniżej tutorial jak to zrobić mimo wystąpienia tych nieprawidłowości.

Uruchamiamy serwer:

sudo service mysql start

Przejdź pod tą lokalizację:

cd /var/run

Zrób kopię bezpieczeństwa:

sudo cp -rp ./mysqld ./mysqld.bak

Zatrzymaj serwer MySQL:

sudo service mysql stop

Przywróć plik:

sudo mv ./mysqld.bak ./mysqld

Uruchamiamy serwer w trybie safe:

sudo mysqld_safe --skip-grant-tables --skip-networking &

Logujemy się do MySQL:

mysql -u root

Tutaj przy standardowym zmienianiu hasła się to nie udało, pojawiały się m.in. takie problemy jak:

Dla komendy:

SET PASSWORD FOR root@'localhost' = PASSWORD('Haslo');

błąd:

Plugin 'auth_socket' is not loaded

Dla komendy:

update user set password=PASSWORD("Haslo") where User='root';

bład:

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

Aby bezproblemowo zmienić hasło wywołaj następujące komendy w konsoli MySQL:

Wybierz bazę mysql:

use mysql;

Ustaw żądane hasło

update user set authentication_string=PASSWORD("Haslo") where User='root';
update user set plugin="mysql_native_password" where User='root';

Wyczyść uprawnienia i wyloguj:

flush privileges;
quit;

Następnie możesz sprawdzić czy już nowe hasło działa:

mysql -uroot -pHaslo

 


Więcej źródeł:
https://stackoverflow.com/questions/41984956/cant-reset-root-password-with-skip-grant-tables-on-ubuntu-16
https://stackoverflow.com/questions/37879448/mysql-fails-on-mysql-error-1524-hy000-plugin-auth-socket-is-not-loaded

 

Możesz również polubić…

Inna porada:
Tworzymy folder i od razu do niego przechodzimy. W 1…