Die meisten im Internet gefundenen Gewährungsmethoden melden Fehler. Der Hauptgrund dafür ist, dass die ursprüngliche Methode nach MySQL-Version 8.0 nicht mehr verwendet werden kann gemeldet
FEHLER 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, um die richtige Syntax in der Nähe von „identifiziert durch ‚123456“ in Zeile 1 zu finden.Richtig grant way
SELECT version();
grant all privileges on test.* to test@'%' identified by '123456';
create user test@'localhost' identified by '123456';
MySQL8.0-Passwort-Login Nicht auf dem neuesten StandHinzugefügt: MySQL ERROR 1064 (42000) – Grant meldet immer einen Fehler, egal was passiert, was ist los?grant all privileges on test.* to test@'localhost';Nach dem Login kopieren
Freunde, die MySQL verwendet haben, wissen, dass es häufig einige Gewährungsvorgänge (Autorisierungsvorgänge) gibt. Ich frage mich, ob Sie auf ein solches Problem gestoßen sind.
FEHLER 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüfen Sie die richtige Syntax in der Nähe von „123456“ in Zeile 1 MySQL grant SQL
Fügen Sie es in das Terminal ein und führen Sie es aus.
Es wird ein Fehler gemeldet!Nachdem jeder Buchstabe eingegeben wurde, wird er ausgeführt.
Es wird erneut ein Fehler gemeldet!
Viele Male bestätigt und ausgeführt,
Ein Fehler ist erneut aufgetreten!Ich werde verrückt, was soll ich tun? Machen Sie sich keine Sorgen, lesen Sie den Artikel weiter.
Unterschiede in den Versionen
Überprüfen Sie zunächst Ihre MySQL-Version, die Fehler meldet. Es wird geschätzt, dass Fehler nicht durch das Auswendiglernen oder gar blindes Eingeben von Befehlen gemeldet werden am meisten. Ob Sie es glauben oder nicht? Testen Sie es mit echten Daten
1. Versuchen Sie es zuerst mit MySQL 8.0
flush privileges;
2. Versuchen Sie es erneut mit MySQL 5.7
alter user test@'localhost' identified with mysql_native_password by '123456';
Aufmerksame Freunde, ist Ihnen aufgefallen, dass das zurückgegebene Ergebnis eine Meldung enthält: 1 Warnung, was ist das?
mysql> grant all privileges on test.* to test@'%' identified by '123456'; 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 'identified by '123456'' at line 1
Es stellt sich heraus, dass der Beamte in MySQL 5.7 daran erinnert hat, dass diese SQL-Syntax veraltet sein wird.
Grant korrekt ausführen
Wie führen wir Grant also in MySQL Version 8.0 und höher korrekt aus?
Erstellen Sie zuerst einen Benutzer und erteilen Sie dann die Autorisierung.mysql> grant all privileges on test.* to test@'%' identified by '123456'; Query OK, 0 rows affected, 1 warning (0.08 sec) mysql> flush privileges;
Das obige ist der detaillierte Inhalt vonSo beheben Sie den von MySQL während der Gewährung gemeldeten Fehler ERROR 1064 (42000).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!