Beheben von Problemen mit der PASSWORD-Funktion in MySQL Server 8.0
Beim Versuch, die PASSWORD-Funktion in MySQL Server Version 8.0.12 auszuführen, können bestimmte Szenarien auftreten einen Fehler auslösen. Dieser Artikel zielt darauf ab, solche Probleme zu beheben und eine praktikable Lösung bereitzustellen.
Fehlercode 1064
Wenn Sie auf den Fehler „Fehlercode: 1064. Sie haben einen Fehler in.“ stoßen Ihre SQL-Syntax ...“, weist dies auf ein Problem mit der Syntax Ihrer Abfrage hin. Insbesondere hat sich die Syntax der PASSWORD-Funktion in MySQL Server Version 8.0 geändert.
Neue Syntax
Mit MySQL Server 8.0 wurde die PASSWORD-Funktion veraltet und durch eine andere ersetzt Hashing-Mechanismus. Um die Kompatibilität aufrechtzuerhalten, sollten Sie die folgende Syntax verwenden, um einen Hash zu generieren, der dem von der PASSWORD-Funktion in früheren Versionen erzeugten entspricht:
CONCAT('*', UPPER(SHA1(UNHEX(SHA1('my_password')))))
Beispiel
In der bereitgestellten Abfrage stellt „pwd = PASSWORD('2018')“ den Vergleich der Spalte „pwd“ mit a dar statisches Passwort. Um Benutzer mit dem Passwort „2018“ mithilfe der neuen Syntax abzurufen, können Sie die Abfrage wie folgt ändern:
SELECT * FROM users WHERE login = 'FABIO' AND pwd = CONCAT('*', UPPER(SHA1(UNHEX(SHA1('2018'))))) LIMIT 0, 50000
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3