Podczas pracy z MySQL DBMS niezwykle ważne jest, aby wiedzieć, jak zmienić hasło użytkownika. Wydaje się, że zadanie to można rozwiązać tylko wtedy, gdy ma się uprawnienia superużytkownika. Ale nawet zwykły użytkownik może zmienić hasło w pewnych okolicznościach. W tym artykule powiemy ci, jak to zrobić w normalnych okolicznościach.
Hasło użytkownika można zmienić na różne sposoby. W środowisku MySQL istnieją dwa polecenia do tego zadania - SET PASSWORD
i ALTER USER
. Opowiemy szczegółowo o każdej z tych dwóch metod.
Na początku tego roku MySQL miał dwie główne wersje. Pierwsza z nich jest przestarzała, ale nadal obsługiwana (jest to wersja 5.7), a najbardziej aktualna w tej chwili jest wersja 8.0. Jak sprawdzić wersję MySQL? Można to zrobić za pomocą specjalnego polecenia, które należy wykonać w terminalu:
$ mysql –version
Jak widać na powyższym obrazku, używana jest wersja 8.0.28, ale ważne jest, aby pamiętać, że ALTER USER
ma znaczenie tylko we wcześniejszych wersjach MySQL.W nowszych wersjach można używać obu wersji.
Aby wejść do konsoli, należy zalogować się do MySQL przy użyciu loginu i hasła. Jeśli użytkownik jest już autoryzowany na serwerze, należy wykonać wszystkie czynności w jego imieniu. Gdy MySQL jest używany po raz pierwszy, należy użyć uprawnień roota.
Polecenie logowania jako root:
$ mysql -u root –p
Następnie pojawi się monit o hasło. Pozostaje wprowadzić hasło, nacisnąć klawisz Enter, natychmiast po tym zostanie załadowany interfejs MySQL ze wszystkimi dostępnymi poleceniami.
Osobliwością MySQL jest to, że ma oddzielny host, do którego przypisane jest konto. Zwróćmy uwagę na trzy główne hosty:
Localhost pozwala tylko na lokalne logowanie bez zdalnej łączności, % oznacza, że konto może być używane z dowolnego hosta, adres IP/nazwa domeny oznacza, że konto może być używane tylko pod wybraną nazwą domeny/adresem IP.
Aby sprawdzić typ hosta konta, musimy uruchomić następujące zapytanie SQL:
$ SELECT user, host FROM mysql.user
Na powyższym zrzucie ekranu widzimy, że użytkownik alex ma host %. Ten host powinien być używany podczas zmiany hasła. Użytkownicy w MySQL i wszystkie informacje o użytkownikach są przechowywane w bazie danych mysql w tabeli user.
Hasło można również zmienić za pomocą polecenia SET PASSWORD
. Aby zmienić hasło dla użytkownika alex z hostem % na somepassword666 należy użyć następującego polecenia:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Kod użytkownika można zmienić za pomocą innego polecenia - ALTER USER
. Aby zmienić hasło dla użytkownika alex z hostem % na anotherpassword666 uruchomimy zapytanie SQL:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Należy pamiętać, że nazwa użytkownika i host są ujęte w pojedyncze cudzysłowy, bez tych cudzysłowów MySQL nie będzie w stanie rozpoznać ciągu.
Teraz należy zresetować pamięć podręczną uprawnień:
$ FLUSH PRIVILEGES;
Po zmianie hasła, zmianie uprawnień i zresetowaniu pamięci podręcznej należy przeprowadzić weryfikację logowania jako użytkownik, którego hasło zostało zmienione.
Wyjdź
z powłoki MySQL, wykonując polecenie exit
:
$ exit
Teraz zaloguj się do powłoki:
$ mysql -u alex -p
Jeśli podczas logowania zobaczysz monit systemowy, wszystko wykonałeś poprawnie, co oznacza, że hasło zostało pomyślnie zmienione.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: