If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > MySQL > Client does not support authentication protocol requested

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 12-01-04, 19:15
mmickey mmickey is offline
Registered User
 
Join Date: Dec 2004
Location: Slightly Off Center
Posts: 5
Exclamation Client does not support authentication protocol requested

ok, here's my problem!

I have just installed MySQL and PHP on my Mac G4 (Quicksilver dual 1GHz running OSX 10.3.4 build 7H63) using these installer packages:

MySQL: mysql-standard-4.1.7-apple-darwin6.8-powerpc.dmg
PHP: PHPInstall2.1.dmg

The process went just fine, and both the MySQL server and PHP seemed to be running as intended. Now I wanted to create a database and I thought that using phpMyAdmin would be a good choice, so I installed the 2.6.0 version of it. When I (using phpMyAdmin) connected to the MySQL server to do so, I got a warning dialog telling me that it was pretty much open to anyone (default MySQL settings) and that I should add a password. I changed the access settings using the edit options in phpMyAdmin and pushed the ok button. When re-logging to check if the server now was secure I got this dialog:

phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. #1251 - Client does not support authentication protocol requested by server.

Strange! everything was working just fine, all I did was adding a password, and now I was shut out! I downloaded and installed YourSQL version 1.7.0b (a good alternative to phpMyAdmin) and I got in right away, using the newly added password. So now I wonder, what went wrong? how can I fix this? the only way I can get in now is when I use YourSQL (only for maintaining the database), all other attempts gets the reject dialog.

can someone please help me with this?

Mickey

Last edited by mmickey; 12-01-04 at 19:21.
Reply With Quote
  #2 (permalink)  
Old 12-01-04, 20:56
r937 r937 is offline
SQL Consultant
 
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,534
__________________
r937.com | rudy.ca
please visit Simply SQL and buy my book
Reply With Quote
  #3 (permalink)  
Old 12-02-04, 12:39
mmickey mmickey is offline
Registered User
 
Join Date: Dec 2004
Location: Slightly Off Center
Posts: 5
Smile Thanks a lot for fast reply!

Hi Rudy, thanks for fast reply!

I've just been checking out the link you provided, but as I'm still a n00b I have a few more questions

Quote from the MySQL site:
MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attempts to connect to it with an older client may fail with the following message:

shell> mysql
Client does not support authentication protocol requested
by server; consider upgrading MySQL client


To solve this problem, you should use one of the following approaches:
  • Upgrade all client programs to use a 4.1.1 or newer client library.
  • When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.
  • Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the
  • SET PASSWORD statement and the OLD_PASSWORD() function: ...etc.
As I don't have a bunch of old stuff that needs an account with a pre-4.1-style password, I think upgrading all client programs to be compatible with 4.1.7 will be the easyest way to get this to work. But I don't even know what client programs they are talking about? ...the Apache web server? PHP? or the OS itself? ...or?

I replaced the 4.1.7 version of MySQL with 4.0.22 and everything worked just fine, but 4.0.22 can't open stuff made with 4.1.7 so I think upgrading will be the best for me. Also, I will probably run into problems later on that will force me to upgrade, so I might as well do it now. I also tested all the reset and change password stuff, but I'm not a wizard with the Terminal so I didn't get any of it to work so I'll be grateful if you could push me in the right direction on what to upgrade.

Mickey
Reply With Quote
  #4 (permalink)  
Old 12-02-04, 13:34
r937 r937 is offline
SQL Consultant
 
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,534
dude, i have no idea whatsoever

i don't have a clue, really

i have never installed mysql and don't plan to

i am so not a DBA

the only reason i posted that link is because i knew it addresses that problem

maybe someone with even a smidgen of installation experience (which i do not have) can step in here...
__________________
r937.com | rudy.ca
please visit Simply SQL and buy my book
Reply With Quote
  #5 (permalink)  
Old 12-02-04, 13:50
mmickey mmickey is offline
Registered User
 
Join Date: Dec 2004
Location: Slightly Off Center
Posts: 5
Smile thanks anyway! :)

Hey, thanks anyway!

at least you gave me hope and got me started - thanks!

Mickey
Reply With Quote
  #6 (permalink)  
Old 12-03-04, 20:02
mmickey mmickey is offline
Registered User
 
Join Date: Dec 2004
Location: Slightly Off Center
Posts: 5
Smile Things are working now!

Things are working now!

Error dialog:
phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. #1251 - Client does not support authentication protocol requested by server.

The client in this case turned out to be the PHP client, and upgrading wouldn't help much because I already had the latest stable version for Mac's (the one that comes with the PHP 2.1 installer) not yet fully compatible with MySQL 4.1.7 - so in order to get things to work I had to downgrade to MySQL 4.0.22.

Mickey
Reply With Quote
  #7 (permalink)  
Old 12-09-04, 10:27
rebcoair rebcoair is offline
Registered User
 
Join Date: Dec 2004
Posts: 1
Password authentication with MySql 4.1.7 on old clients

mmickey,
I know you have solved your problem by downgrading but I was able to make MySql 4.1.7 work by using the OLD_PASSWORD function. This just reverts to the old 4.0 style on that user account.

SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('password');

Substitute user, host, and password as appropriate of course. After that, your clients should be able to access the 4.1.7 server just as they could with the 4.0 server. Of course if you don't need the new features of 4.1.7 then you are fine with 4.0.
Good luck
Reply With Quote
  #8 (permalink)  
Old 12-10-04, 00:03
mmickey mmickey is offline
Registered User
 
Join Date: Dec 2004
Location: Slightly Off Center
Posts: 5
Smile Thanks for replying :)

Hey rebcoairy!

Thanks for replying, but before I degraded to 4.0.22 I actually tried out all thinkable Terminal based versions of the password fixing strings listed on the official MySQL site - they all failed. I'm pretty sure I did something wrong, but I don't know what, and how to get it right. Can you please give me the exact step-by-step way to do it? I'm a n00b so please leave nothing out.

Mickey

btw - I'm on a Mac running on OSX 10.3.4 (build 7H63).
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On