Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

(This question is also in StackOverflow http://stackoverflow.com/questions/16575994/mysqlnd-same-mysql-server-and-php-version-cant-connect-from-windows)

I'm migrating mysql functions to mysqli. As I'm using PHP 5.4+, mysqlnd is used by default (is bundled and enabled with PHP).

I have two enviroments, dev and production. Both uses the same database (MySQL 5.5.24-log). old_passwords is set to OFF.

  • Production enviroment is a shared hosting, Linux, PHP 5.4.10. It connects OK to database.

  • Development enviroment is Win7, PHP 5.4.15, Apache 2.2. It does not connect. The error is:

The server requested authentication method unknown to the client [mysql_old_password]

I have no admin privileges for the database.

I've read a lot and all workarounds point to updating the user's password, in order to use 41-length encoded passwords, but old_passwords was already off. I tried changing the user's password from the hosting panel (in case that the original was created with old_passwords set in ON), but nothing happens.

Some others suggest downgrading PHP, but I'm trying not to. It's dumb :-/

The weird thing is that it works in Linux, but not in Win. The fact that old_passwords was set in OFF makes me thing that the problem may be related with some misconfiguration with mysqlnd.

Any clues?

share|improve this question
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.