1. Ich habe heute gerade mysql 8.0.13 installiert und versucht, ein paar Konten und Berechtigungen zuzuweisen, aber ich bekam einen Fehler:

2. Nachdem ich die Informationen überprüft hatte, erfuhr ich, dass die Berechtigungszuweisung von MySQL 8 keine Konten mit Passwörtern mehr implizit erstellen kann; Sie müssen zuerst das Konto erstellen und dann Berechtigungen festlegen.

Geben Sie den Befehl ein:

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

Ein weiterer Fehler:

You are not allowed to create a user with GRANT;

Der GRANT-Befehl ist nicht erlaubt. Warum sollte es keine Berechtigung geben? Seltsam.

3. Später dachte ich an den Host in der MySQL-Benutzertabelle.

Also habe ich den Host geändert:

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

Dann führe es zweimal aus

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

Erfolg:

Aber beim Verbinden mit Navicat wurde ein Fehler gemeldet

Das liegt daran, dass die Verschlüsselungsmethode von MySQL 8 anders ist als die von Navicat.

4. Verschlüsselungsmethode ändern:

alter user test identified with mysql_native_password by 'xxx';

Erneut versuchen, fertig!

Originaler Link: https://blog.csdn.net/qq_34680444/article/details/86238516