1. Я только что установил mysql 8.0.13 сегодня и попытался назначить несколько учетных записей и прав, но получил ошибку:

2. После проверки информации я узнал, что назначение прав в MySQL 8 больше не может неявно создавать учетные записи с паролями; сначала нужно создать учетную запись, а затем установить права.

Введите команду:

Grant all privileges on test.* to 'test'@'%';

Еще одна ошибка:

You are not allowed to create a user with GRANT;

Команда GRANT не разрешена. Почему нет разрешения? Странно.

3. Позже я вспомнил о host в таблице user MySQL.

Итак, я изменил хост:

update user set host='%' where user='test';

Затем выполните это дважды

Grant all privileges on test.* to 'test'@'%';

Успех:

Но при подключении к Navicat возникла ошибка

Это потому, что метод шифрования MySQL 8 отличается от метода Navicat.

4. Измените метод шифрования:

alter user test identified with mysql_native_password by 'xxx';

Попробуйте ещё раз, готово!

Оригинальная ссылка: https://blog.csdn.net/qq_34680444/article/details/86238516