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.
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:
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.
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.
Password authentication with MySql 4.1.7 on old clients
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.
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.
btw - I'm on a Mac running on OSX 10.3.4 (build 7H63).