Доступ к MySQL запрещен для пользователя 'root' @ 'localhost' ubuntu 20.04 и MYSQL8

Я все время получаю эту ошибку. Я просматривал несколько сайтов QA, пытаясь сбросить мой локальный mysql pw. Я добавил таблицы пропуска в [mysqld] , и теперь я работаю в безопасном режиме. Я выполнил следующие шаги

mysqld_safe --skip-grant-tables &
use mysql;
update user set password=PASSWORD(”my_password”) where user=’root’;

Когда я перехожу к последнему шагу обновления, я получаю следующую ошибку:

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 '("my_password") where user="root"' at line 1

Я также пробовал

    UPDATE mysql.user SET 
    authentication_string=PASSWORD(''), 
    plugin='mysql_native_password'
   WHERE User='root' AND Host='localhost';

и это

ALTER USER 'root'@'localhost IDENTIFIED WITH mysql_native_password BY 'root';

, но получаю ту же ошибку:

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 'Ihost IDENTIFIED WITH mysql_native_password BY 'root'' at line 1

Не знаю, как сбросить мой пароль на этом этапе.

0
задан 29 July 2020 в 18:34

1 ответ

Я обновляю то, что работает для меня каждый раз, выполните следующие действия

  1. Войдите как пользователь root

    sudo mysql -u root

  2. выберите mysql db

    используйте mysql;

  3. Проверьте плагин, используемый для желаемого пользователя, если это auth_login? измените это на mysql_native_password, используя этот запрос

    UPDATE user SET plugin='mysql_native_password' WHERE User='root';

  4. Теперь используйте этот запрос для обновления пароля root или любого другого пользователя

    ALTER USER 'root'@ 'localhost' ИДЕНТИФИКАЦИЯ С mysql_native_password BY 'newpassword';

  5. Перезапустите службу mysql, используя

    sudo systemctl перезапустить mysql

0
ответ дан 10 January 2021 в 13:48

Другие вопросы по тегам:

Похожие вопросы: