I don't know where to suggest that this be made sticky or put in the FAQ or what, but it boils down to this: Failure to connect to the MySQL database isn't always a user typing problem. So if you are absolutely certain that:
1. you set up your MySQL database correctly
2. you set up your MySQL user and password correctly
3. you added your MySQL user to your MySQL database correctly
4. you edited your wp-config.php to include your DB_name, DB_user, DB_password and DB_host correctly
and still, when you attempt to run the install.php program, you get the dreaded "Error establishing a database connection," go directly to your host and tell them you're not able to connect to a simple MySQL database with a simple PHP program.
If they point to WordPress and declare that they're not responsible for making WordPress work, if you're using cPanel, go back to your cPanel, and click on MySQL and look for the "connection strings. Copy the PHP connection strings into a text file and add some PHP stuff around it thusly:
$dbh=mysql_connect ("<HOST NAME HERE>", "<USERNAME HERE>", "<PASSWORD HERE>") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("<DB NAME HERE>");
The HOST NAME, USERNAME and DB NAME should already be filled in correctly from your cPanel/MySQL display. Fill in your PASSWORD where indicated. Then save this file as a PHP file with a name like mysql-test.php. Upload it to your hosting account. I'd suggest you put it in your "document root." Then open your browser and go to:
If you get an error message, take that to your host and say "This doesn't have anything to do with WordPress, I can't connect to a simple MySQL database on your server with a simple PHP program." This takes WordPress out of the picture and gives your hosting company a relevant error message to work with.
Further, if the error message is: "Client does not support authentication protocol requested by server; consider upgrading MySQL client." refer your hosting company to:
Hope this helps. Many thanks to all for their help. Bob