Как сбросить пароль root в MySQL 8.0.11? - PullRequest
0 голосов
/ 05 июня 2018

Я действительно потерял свой пароль root, и мне нужно его поменять.Я выполняю следующие шаги:

  • Шаг # 1: Остановите процесс сервера MySQL.

    Шаг # 2: Запустите процесс сервера / демона MySQL (mysqld) с -Опция -skip-grant-tables, чтобы он не запрашивал пароль.

    Шаг № 3: Подключитесь к серверу MySQL от имени пользователя root.

, которыймы можем найти на этих веб-сайтах: 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

Первая ошибка, поэтому я попытался:

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

Всегда указывается одна и та же ошибка:

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

Как я могу решить это?

Ответы [ 3 ]

0 голосов
/ 30 сентября 2018

как здесь говорит:

Эта функция была удалена в MySQL 8.0.11

1.Если вы в skip-grant-tablesрежим
в mysqld_safe:

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

, а затем в терминале:

mysql -u root

в mysql:

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

2.не в пропускаемом гранте-столы в режиме
только в mysql:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
0 голосов
/ 08 мая 2019

Используя SQLYog, вы можете выполнять команды

  • Создание пользователя

    CREATE USER 'tester'@'localhost' IDENTIFIED BY 'Pass123#d'
    
  • Авторизация

    GRANT ALL PRIVILEGES ON sakila.* TO 'tester'@'localhost'
    
  • Изменение пароля в MySQL 8.0

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

    или, если вы знаете, что поле authentication_string напрямую устанавливает его для обновления

    UPDATE mysql.user 
    SET authentication_string='*F9B62579F38BE95639ACB009D79427F2D617158F'  
    WHERE USER='root'
    
  • Изменение пароля в более низких версияхmysql

    GRANT USAGE ON *.\* TO 'tester'@'localhost' IDENTIFIED BY 'Pass123#d'
    SET PASSWORD FOR 'tester'@'localhost' = PASSWORD('Pass123#d');
    
0 голосов
/ 05 июля 2018

Попробуйте это:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPasswd';
...