Bug #37552 MySQL Server version recognized as version < 4.1
Submitted: 20 Jun 2008 16:57 Modified: 6 Sep 2010 9:45
Reporter: Oleg Zheltyannikov Email Updates:
Status: Won't fix Impact on me:
None 
Category:Connectors: mysqlnd ( PHP ) Severity:S3 (Non-critical)
Version: OS:Microsoft Windows (XP)
Assigned to: CPU Architecture:Any

[20 Jun 2008 16:57] Oleg Zheltyannikov
Description:
If I try to connect to remote MySQL Server php script fail with error:
mysqli_connect(): mysqlnd cannot connect to MySQL < 4.1 servers

but mysql -V print out: 
Ver 14.12 Distrib 5.0.34, for unknown-linux-gnu (x86_64) using readline 5.0

OS: Windows XP
PHP ext: php_mysqli.dll version 5.2.1.1
PHP Version: PHP 5.2.6 

How to repeat:
Just create new mysqli instance
$newinstance = new mysqli("remote_ip","root","mysql");
[20 Jun 2008 17:18] Sveta Smirnova
Thank you for the report.

mysql -V reports version of client, but mysqlnd complains about server version. Please connect to remote server using mysql command line client, run query SELECT VERSION() and provide us its output.
[23 Jun 2008 12:26] Oleg Zheltyannikov
mysql> SELECT VERSION();
+---------------------------+
| VERSION()                 |
+---------------------------+
| 5.0.34-enterprise-gpl-log |
+---------------------------+
[1 Jul 2008 22:00] Sveta Smirnova
Thank you for the feedback.

I can not repeat described behavior.

> PHP ext: php_mysqli.dll version 5.2.1.1

Please indicate where did you download php_mysqli.dll
[1 Aug 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[6 Oct 2008 4:23] kishroe medida
I got the following message:
SYSTEM WARNING: mysqli_real_connect() [function.mysqli-real-connect]: mysqlnd cannot connect to MySQL < 4.1 servers
SYSTEM WARNING: mysqli_real_connect() [function.mysqli-real-connect]: (00000/0): 

steps:
1. Installed Mysql-5.0.37 
2. Its working fine with php than
3. Executed following command in Mysql command prompt
   mysql> SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
4. Now it is showing above meesage.

Plz help me in this.

Thanks in Advance.
[6 Oct 2008 4:41] kishroe medida
I resolved my issue using following command:

mysql> SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpwd');

Thanks.
[18 Dec 2008 14:11] Fernando MarinĂ²
same problem here. 
Here is my configuration.
Windows vista ultimate sp1 64bit
Mysql server version '5.0.67-community-nt', x64 edition that works perfect with other programs (tested with jdbc and mysql tools)
Apache/2.2.11 (Win32) PHP/5.2.8 
I had to replace the mysqli extension with the latest (as of today) provided on your site to get things working (before it says invalid win32 application blabla), but now if i try to connect to mysql (located on the same pc) I get this if I use 127.0.0.1 as host address:

Warning: mysqli_connect() [function.mysqli-connect]: mysqlnd cannot connect to MySQL < 4.1 servers in C:\Users\kuarl\document root\index.php on line 4

Warning: mysqli_connect() [function.mysqli-connect]: (00000/0): in C:\Users\kuarl\document root\index.php on line 4

instead I get the following if I use localhost:
Warning: mysqli_connect() [function.mysqli-connect]: [10060] A connection attempt failed because the connected party did not (trying to connect via tcp://localhost:3306) in C:\Users\kuarl\document root\index.php on line 4

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/10060): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\Users\kuarl\document root\index.php on line 4
[19 Dec 2008 8:02] Sveta Smirnova
Fernando,

thank you for the feedback. Do you use old-passwords option?
[19 Dec 2008 14:32] Fernando MarinĂ²
no, it was a default installation
[29 Jul 2009 9:26] Sveta Smirnova
Thank you for the feedback.

I can not repeat described behavior with mysqlnd downloaded today. So I close the report as "Can't repeat". Feel free to reopen it if you are able to provide more informaiton.
[6 Sep 2010 9:45] Ulf Wendel
mysqlnd does not support old password authentication. This won't be changed. The old password encryption method is insecure.