Bearbeiten:Dies gilt nur, wenn Sie die Kontrolle über den MySQL-Server haben ... wenn Sie nicht einen Blick auf Mysql-Passwort-Hashing-Methode alt vs. neu
Prüfen Sie zuerst mit der SQL-Abfrage
SHOW VARIABLES LIKE 'old_passwords'
(im MySQL-Befehlszeilenclient HeidiSQL
oder welches Frontend Sie auch immer mögen), ob der Server standardmäßig auf die Verwendung des alten Passwortschemas eingestellt ist. Wenn dies old_passwords,Off
zurückgibt Sie haben nur zufällig alte Passworteinträge im user
Tisch. Der MySQL-Server verwendet für diese Konten die alte Authentifizierungsroutine. Sie können einfach ein neues Passwort für das Konto festlegen und die neue Routine wird verwendet.
Sie können überprüfen, welche Routine verwendet wird, indem Sie einen Blick auf die mysql.user
werfen Tabelle (mit einem Konto, das Zugriff auf diese Tabelle hat)
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Dies gibt 16 zurück für Konten mit alten Passwörtern und 41 für Konten mit neuen Passwörtern (und 0 für Konten ohne Passwort, sollten Sie sich auch darum kümmern).
Entweder verwenden Sie die Benutzerverwaltungstools des MySQL-Frontends (falls vorhanden) oder
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
(ersetzen Sie User
und Host
mit den Werten, die Sie aus der vorherigen Abfrage erhalten haben.) Überprüfen Sie dann erneut die Länge des Passworts. Es sollte 41 sein now und Ihr Client (z. B. mysqlnd) sollte sich mit dem Server verbinden können.
siehe auch die MySQL-Dokumentation:* http://dev. mysql.com/doc/refman/5.0/en/old-client.html
* http://dev.mysql. com/doc/refman/5.0/en/password-hashing.html
* http://dev.mysql. com/doc/refman/5.0/en/set-password.html