Beim Versuch, ein Upgrade von PHP 7.3 auf PHP 7.4 durchzuführen, wurde folgende Fehlermeldung angezeigt:
Unerwartete Serverantwort beim Ausführen von caching_sha2 auth 109
Aus meiner Sicht bedeutet dies, dass PHP 7.4 MySQLi versucht, das caching_sha2_password
Plugin zu verwenden. Dieser Artikel weist darauf hin, dass PHP MySQLi das Plugin nicht unterstützt (es weist auch auf zukünftige Unterstützung hin), aber da PHP 7.4 neu ist und versucht, es zu verwenden, denke ich, dass es funktionieren sollte. Außerdem unterscheidet sich die Fehlermeldung von der, die nicht unterstützt wurde ( Zugriff verweigert vs. Authentifizierungsmethode unbekannt ).
Also habe ich mein MySQL-Authentifizierungs-Plugin geändert caching_sha2_password
(mit demselben Passwort wie zuvor):
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '';
FLUSH PRIVILEGES;
Dies verursachte jedoch einen weiteren Fehler:
Zugriff für Benutzer 'root' @ 'localhost' verweigert (mit Passwort: YES).
Zurückschalten auf PHP 7.3 und mysql_native_password
es funktioniert wieder.
Ich habe das gleiche Passwort für beide Plugins, die gleiche Website und die gleichen Änderungen an der php.ini verwendet. Ich habe jedoch keine mysqli
Konfiguration geändert . Die Protokolle für MySQL zeigen nichts an, das Apache2-Protokoll zeigt nur die Fehlermeldung "Zugriff verweigert" an.
Hat php7.4-mysqli Unterstützung für caching_sha2_password
? JA
Warum wird mein Passwort abgelehnt und wie kann ich es reparieren? Siehe meine Folgefrage
Auch wenn MySQLi das Plugin immer noch nicht unterstützt: Wie kann ich mysql_native_password
es verwenden?
Access Denied
und dann zu Ihnen zurückkehren.