Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zresetować hasło użytkownika root MySQL?

ServerPilot konfiguruje MySQL do zarządzania bazami danych na Twoim serwerze. Zazwyczaj po zalogowaniu się do SSH jako root użytkownik, wystarczy wpisać następujące polecenie w wierszu poleceń (SSH), aby uzyskać dostęp do MySQL:

mysql

To polecenie automatycznie odniesie się do pliku, który zawiera root MySQL hasło użytkownika MySQL, aby nie trzeba było go wpisywać. Hasło root dla MySQL jest zawarte w tym pliku:

/root/.my.cnf

Jeśli z jakiegoś powodu musisz zmienić to hasło, należy wykonać kilka kroków. Należy pamiętać, że istnieją tutaj dwa różne procesy:jeden w sytuacji, w której hasło root do MySQL aktualnie działa, a drugi dla niedziałającego hasła root do MySQL.

Uwaga:Dziennik błędów MySQL jest dobrym miejscem do znalezienia problemów z MySQL i znajduje się tutaj:

/var/log/mysql/error.log
Ostrzeżenie! Zalecamy wykonanie migawki serwera przed wykonaniem takich zadań.

Zmiana działającego hasła głównego MySQL

W tej sekcji opisano zmianę działającego hasła root MySQL, co oznacza, że ​​możesz zalogować się do MySQL jako root użytkownik, wpisując po prostu mysql po znaku zachęty SSH. Jeśli te kroki zostaną wykonane, nie będzie żadnych przestojów w tym procesie.

Zaloguj się do SSH jako root użytkownika, a następnie zaloguj się do MySQL, wpisując:

mysql

W wierszu poleceń MySQL wpisz następujące polecenie, ale zastąp tutaj wpisz swoje-nowe-hasło z rzeczywistym hasłem, którego chcesz użyć. Musisz pozostawić pojedyncze cudzysłowy wokół nowego hasła. Zanotuj hasło, ponieważ w następnym kroku będziesz musiał je umieścić w pliku.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Zamknij MySQL, wpisując:

quit

Następnie musisz zaktualizować plik zawierający root MySQL hasło użytkownika, dzięki czemu możesz SSH do swojego serwera jako root i uruchom mysql polecenie bez wpisywania hasła.

sudo nano /root/.my.cnf
Aby uzyskać dodatkowe informacje na temat korzystania z nano edytor tekstu, zapoznaj się z naszym przewodnikiem.

Zaktualizuj pole hasła do nowego hasła wpisanego powyżej, zapisz i wyjdź z edytora tekstu.

Na koniec sprawdź, czy nowe hasło działa:

mysql

Wszystko gotowe!

Zmiana utraconego lub niedziałającego hasła głównego MySQL

Ta sekcja obejmuje odzyskiwanie uprawnień administratora do MySQL po otrzymaniu tego błędu:

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
Ostrzeżenie! Ten proces spowoduje na krótki czas wyłączenie MySQL; najlepiej robić to poza godzinami szczytu, kiedy to najmniej będzie to dotyczyć użytkowników.

Zaloguj się do serwera przez SSH jako root użytkownika i zatrzymaj MySQL, wpisując:

sudo service mysql stop

Następnie uruchom następujące polecenie:

sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld

Nie zwróci żadnych danych wyjściowych. Uruchom MySQL w specjalnym trybie, wpisując:

sudo mysqld --skip-grant-tables --skip-networking &

Jego dane wyjściowe powinny być podobne do poniższych, chociaż wyświetlany numer będzie inny:

sudo mysqld --skip-grant-tables --skip-networking &
[1] 14744

Wrócisz do standardowego monitu SSH. Teraz wpisz następujące polecenie, aby zalogować się do MySQL:

mysql

Nie zostaniesz poproszony o podanie hasła i powinno wyglądać mniej więcej tak:

~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Wydaj następujące polecenie, które pozwoli ci zmienić hasło:

FLUSH PRIVILEGES;

Co daje:

Query OK, 0 rows affected (0.00 sec)

Następnie resetujemy aktualne hasło, zmieniając tutaj-tutaj-nowe-hasło do twojego aktualnego hasła. Zanotuj ustawione hasło, ponieważ będziemy musieli wprowadzić je w /root/.my.cnf plik, kiedy skończymy, a także zachowaj pojedyncze cudzysłowy wokół nowego hasła.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Powinieneś otrzymać powiadomienie, takie jak:

Query OK, 0 rows affected, 1 warning (0.00 sec)

Wyjdź z MySQL, wpisując:

quit

Następnie wpisz następujące polecenie:

sudo killall mysqld

Żadne dane wyjściowe nie zostaną zwrócone. Teraz uruchamiamy MySQL normalnie:

sudo service mysql start

Wreszcie, jeśli zmieniłeś hasło z tego, co było w /root/.my.cnf , musisz zaktualizować ten plik. Jeśli użyłeś tej samej wartości, nie musisz wykonywać tego kroku:

sudo nano /root/.my.cnf

Zaktualizuj tam pole hasła, a następnie zapisz i wyjdź z edytora tekstu.

Teraz powinieneś być w stanie pomyślnie zalogować się do MySQL jako root użytkownika, wpisując następujące polecenie:

mysql

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Procedura składowana, która automatycznie usuwa wiersze starsze niż 7 dni w MYSQL

  2. Pobierz najnowszy wiersz dla podanego identyfikatora

  3. Jak utworzyć złożony klucz podstawowy w MySQL

  4. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:awaria łącza komunikacyjnego

  5. Jak wyeksportować dane z SQL Server 2005 do MySQL