Nach MYSQL 4.1 wird ein neues Benutzerauthentifizierungsprotokoll eingeführt. Bei alten Clients tritt die Fehlermeldung auf, dass das Authentifizierungsprotokoll nicht unterstützt wird.
1Alles aktualisieren Client-Programme müssen eine Client-Bibliothek der Version 4.1.1 verwenden.
Aktualisieren Sie die PHP-Erweiterungsbibliothek. PHP bietet keine solche Erweiterungsbibliothek mehr >2Wenn Sie mit einem Client-Programm vor 4.1 eine Verbindung zum Server herstellen, verwenden Sie ein Konto, das noch über ein Passwort im Stil von vor 4.1 verfügt.
3Setzen Sie das Passwort für jeden Benutzer, der es verwenden muss, auf den Stil vor 4.1 zurück ein Client-Programm vor Version 4.1. Dies kann mit der SET PASSWORD-Anweisung und der Funktion OLD_PASSWORD() erfolgen: mysql> 'some_user'@'some_host' = OLD_PASSWORD('newpwd') );
Alternativ können Sie UPDATE und FLUSH PRIVILEGES verwenden: mysql> SET Password = OLD_PASSWORD( 'newpwd') ->
mysql>
Ersetzen Sie „newpwd“ durch das Passwort, das Sie in den vorherigen Beispielen verwenden möchten, daher müssen Sie eins auswählen neues.
Das ist eine gute Idee, das neu erstellte Konto verwendet das alte Verschlüsselungsprotokoll
4Sagen Sie dem Server, dass er den älteren Passwort-Hashing-Algorithmus verwenden soll:
Starten Sie mysqld mit die Option --old-passwords
Auf diese Weise können die Vorteile des neuen Authentifizierungsprotokolls nicht genutzt werden
5Weisen Sie jedem Konto, dessen Passwort auf das längere Format aktualisiert wurde, ein Passwort im alten Format zu 4.1-Format. Sie können diese Konten mit der folgenden Abfrage identifizieren: mysql> Verwenden Sie für jeden von der Abfrage angezeigten Kontodatensatz die Host- und Benutzerwerte und weisen Sie ein Kennwort mithilfe der Funktion OLD_PASSWORD() und entweder SET PASSWORD oder UPDATE zu, wie zuvor beschrieben.
Stellt Passwörter wieder her, auf die aktualisiert wurde der alte Stil.