Re: Very old question: Mysql and old authentication
| From: | Niel Archer | Date: | Fri, 30 Oct 2009 12:51:51 +0000 |
| Subject: | Re: Very old question: Mysql and old authentication | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-46606@lists.php.net to get a copy of this message | ||
> 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
http://php.net/manual/en/migration53.incompatible.php
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
driver.
More information can be found in the MySQL manual on upgrading from v4.0
to v4.1
http://dev.mysql.com/doc/refman/4.1/en/upgrading-from-previous-series.html
http://dev.mysql.com/doc/refman/4.1/en/old-client.html
--
Niel Archer
niel.archer (at) blueyonder.co.uk