Как сбросить пароль root в MySQL 8.0.11?
Я на самом деле потерял свой пароль 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
Как я могу решить это?
Ответы
Ответ 1
как здесь сказано:
Эта функция была удалена в 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';
Ответ 2
Попробуй это:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPasswd';
Ответ 3
Используя 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');