Index: wp-includes/wp-db.php
===================================================================
--- wp-includes/wp-db.php	(revision 16786)
+++ wp-includes/wp-db.php	(working copy)
@@ -496,7 +496,7 @@
 	function __construct( $dbuser, $dbpassword, $dbname, $dbhost ) {
 		register_shutdown_function( array( &$this, '__destruct' ) );
 
-		if ( WP_DEBUG )
+		if ( (WP_DEBUG ) || defined ('WP_SETUP_CONFIG') ) 
 			$this->show_errors();
 
 		$this->init_charset();
@@ -1033,7 +1033,19 @@
 		}
 
 		if ( !$this->dbh ) {
-			$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/"
+			// if we're setting up, the error message here should be a little more specific 
+			if( defined ( 'WP_SETUP_CONFIG' ) ) {
+       			
+				$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/" 
+<h1> We got the following error with your database credentials </h1> 
+<code> %s </code> 
+<p> 
+You may want to check your credentials once again? 
+</p>  
+"/*/WP_I18N_DB_CONN_ERROR*/, mysql_error()),  'db_connect_fail');
+                                die(); 
+			} else { 	
+				$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/"
 <h1>Error establishing a database connection</h1>
 <p>This either means that the username and password information in your <code>wp-config.php</code> file is incorrect or we can't contact the database server at <code>%s</code>. This could mean your host's database server is down.</p>
 <ul>
@@ -1046,6 +1058,7 @@
 
 			//If show errors is disabled then we need to die anyway as we don't have a working DB connection
 			die();
+			}	
 		}
 
 		$this->set_charset( $this->dbh );
