Warning: mysql_pconnect(): Client does not support authentication protocol requested by server

Ich stand gestern zum ersten Mal vor der folgenden Fehlermeldung in einem PHP-Skript:

Warning: mysql_pconnect(): Client does not support authentication protocol requested by server;
consider upgrading MySQL client

Ich war etwas verwundert, fand aber über Google schnell die Grundlage des Problems: MySQL hat zwischen Version 4.0 und 4.1 die Passwort-Hashes geändert. D.h., dass sich MySQL-Clients der Version 4.0 nicht ohne weiteres mit MySQL-Servern der Version 5.0 unterhalten können, weil der Login am Hash-Verfahren scheitert. Die Lösung ist also, auf dem MySQL 5 Server das Passwort für den Client mit dem alten Hash anzulegen:
SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('passwort');
Danach klappt der Login wieder ohne Probleme. 🙂