Właściwie straciłem hasło roota i muszę go zmienić. Postępuję zgodnie z tymi krokami:

  • Krok 1: Zatrzymaj proces serwera MySQL.

    Krok # 2: Uruchom proces serwera / demona MySQL (MySQLD) z - Opcja Grant-Grant Stoły, dzięki czemu nie będzie monit o hasło.

    Krok # 3: Połącz się z serwerem MySQL jako użytkownika korzenia.

Że możemy znaleźć na te stronie internetowej: https : //www.howtoforge.com/setting-changing-resetting-mysql-root-passwords#recover-mysql-root-password.

mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("TOOR");
mysql> flush privileges;
mysql> quit

Pierwszy błąd, więc próbowałem:

mysql> use mysql;
mysql> update user set password=PASSWORD("TOOR") where User='root';
mysql> flush privileges;
mysql> quit

Zawsze ten sam błąd powiedział:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '("TOO
R") WHERE User='root'' at line 1

Jak mogę to rozwiązać?

17
Mangue Sutcliff 5 czerwiec 2018, 07:20

4 odpowiedzi

Najlepsza odpowiedź

Jako Tutaj mówi:

Ta funkcja została usunięta w MySQL 8.0.11

1. Jeśli w trybie Skip-Grant-Tables
W MySQLD_SAFE:

UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
exit;

A następnie, w terminalu:

mysql -u root

W MySQL:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

2. W trybie Skip-Grant-Tables
Właśnie w MySQL:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
42
Jack Chern 30 wrzesień 2018, 16:29

Spróbuj tego:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPasswd';
10
William Desportes 4 maj 2019, 13:33

Krok 1: Utwórz nowy plik w katalogu głównym (np C :) Krok 2: Napisz ten Alter Użytkownik "Root" @ "LocalHost" zidentyfikowany przez "ABC" i zapisz go Krok 3: Jeśli Twoja usługa MySQL jest już uruchomiona, zatrzymaj to i otwórz CMD Krok 4: Przejdź do katalogu instalacyjnego MySQL (np C: Pliki Program MySQL MySQL Server 8.0 Bin) i wpisz to polecenie

mysql --init-file=C:/init.sql

Krok 5: Wykonaj to polecenie i jesteś dobry :)

Zapoznaj się z tym wideo, aby uzyskać więcej wyjaśnień: https://www.youtube.com/watch?v = Lsdv-7dfohk

0
Ashit 12 listopad 2019, 10:27

Korzystanie z SQLYOG możesz wykonać polecenia

  • Tworzenie użytkownika

    CREATE USER 'tester'@'localhost' IDENTIFIED BY 'Pass123#d'
    
  • Upoważnienie

    GRANT ALL PRIVILEGES ON sakila.* TO 'tester'@'localhost'
    
  • Zmiana hasła w MySQL 8.0

    ALTER USER 'tester'@'localhost' IDENTIFIED BY 'Pass123#d';
    

    lub jeśli znasz autentyczność_string bezpośrednio ustawić go do aktualizacji

    UPDATE mysql.user 
    SET authentication_string='*F9B62579F38BE95639ACB009D79427F2D617158F'  
    WHERE USER='root'
    
  • Zmiana hasła w niższych wersjach MySQL

    GRANT USAGE ON *.\* TO 'tester'@'localhost' IDENTIFIED BY 'Pass123#d'
    SET PASSWORD FOR 'tester'@'localhost' = PASSWORD('Pass123#d');
    
-4
Mark Rotteveel 8 maj 2019, 15:17