> Recently we update our Local Server to this:
> Apache Version : 2.2.11   
> PHP Version : 5.3.0   
> MySQL Version : 5.1.36   
> All works fine locally, but when we want to connect to a Remote Mysql Server 
> 5.0.45 just can't, we got the "mysqlnd cannot connect to MySQL 4.1+ using old 
> authentication" msg
> The solution as i see is to use the OLD_PASSWORD trick, but in this case we 
> can't do that because the Server is a Shared server and yada yada yada.. 
> change some in the Remote Mysql Server is not an option
> I think Php must provide a solution for this but we can't found it
> We use SqlYog 6.05 to connect to Mysql Server's. Why it works with NEW and 
> OLD algorithm and Php don't ?
> Any help on this please ?

The is an entry concerning this in 5.3.0 Backward Incompatible Changes

   The new mysqlnd library necessitates the use of MySQL 4.1's newer
  41-byte password format. Continued use of the old 16-byte passwords
   will cause mysql_connect() and similar functions to emit the error,
   "mysqlnd cannot connect to MySQL 4.1+ using old authentication."

The account you are trying to connect with is using an old password hash

Your options are limited, either
1) Compile PHP to use the libmysql library instead of mysqlnd
2) Have the password updated to use the newer hash.

Note The second option will prevent older clients connecting, including
the mysql extension (but not mysqli) if it is not using the mysqlnd

More information can be found in the MySQL manual on upgrading from v4.0
to v4.1

Niel Archer
niel.archer (at) blueyonder.co.uk

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to