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

 
discard

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

Browse other questions tagged or ask your own question.